-
python入门教程之Python爬虫连载15-利用selenium模块控制chrome
本站最新发布 Python从入门到精通|Python基础教程
试听地址 https://www.xin3721.com/eschool/pythonxin3721/
试听地址 https://www.xin3721.com/eschool/pythonxin3721/
一、
1.下载安装chrome+chrome driver
2.selenium操作主要分为两类:
(1)得到UI元素
find_element_by_id:通过id值来获取元素
find_elements_by_name(下面都同理)
find_elements_by_xpath
find_elements_by_link_text
find_elements_by_partial_link_text
find_elements_by_tag_name
find_elements_by_class_name
find_elements_by_css_selector
(2)基于UI元素操作的模拟
单击;右键;拖拽;输入;可以通过导入ActionChains类来做到
from selenium import webdriver from selenium.webdriver.common.keys import Keys#导入的键盘 import time #可能需要手动添加路径 chromedriverAddress = r"C:\Users\lenovo1\AppData\Local\Programs\Python\Python37\Lib\site-packages\selenium\webdriver\chrome\chromedriver.exe" driver = webdriver.Chrome(executable_path=chromedriverAddress) #写这一行的时候报错了,可见这里配置:https://blog.csdn.net/weixin_43746433/article/details/95237254 url = "http://www.baidu.com" driver.get(url) text1 = driver.find_element_by_id("wrapper").text#得到这个元素的值 print(text1) print(driver.title) #得到页面的快照 driver.save_screenshot("index,png") driver.find_element_by_id("kw").send_keys(u"大熊猫")#向这个id输入“大熊猫”(实际上这里的kw的id就是查找的字段) driver.find_element_by_id("su").click()#点击操作(实际上就是上一步键入信息,下一步我们进行检索) time.sleep(5) driver.save_screenshot("daxiongmao.png") #获取当前界面的cookie print(driver.get_cookies()) #模拟输入两个按键ctrl+a driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'a') #模拟ctrl + x,剪切操作 driver.find_element_by_id("kw").send_keys(Keys.CONTROL,'x') driver.find_element_by_id("kw").send_keys(u"航空母舰") driver.save_screenshot("hangmu.png") driver.find_element_by_id("su").send_keys(Keys.RETURN) time.sleep(5) driver.save_screenshot("hangmu2.png") #清空输入框,clear driver.find_element_by_id("kw").clear() #关闭浏览器 driver.quit()
二、验证码问题
1.验证码最大的作用就是用于判断访问者是机器人还是真人,可以分为:见到那图片;极验(官网:www.geetest.com);12306;电话报验证码;google验证;
2.验证码破解:
(1)通用方法:下载网页和验证码;手动输入验证号码/
(2)简单图片:使用图像识别软件识别软件;可以使用第三方图像验证码破解网站
三、源码
Reptile15_1_DHtmlChrome.py
https://github.com/ruigege66/PythonReptile/blob/master/Reptile15_1_DHtmlChrome.py
栏目列表
最新更新
如何使用OS模块中的stat方法
Python os 模块
seek() 方法
python打开文件实例1
Python写入文件
什么是流?
文件操作如何进制逐行读取
Python相对路径
with创建临时运行环境
Python文件操作
.Net Standard(.Net Core)实现获取配置信息
Linux PXE + Kickstart 自动装机
Shell 编程 基础
Shell 编程 条件语句
CentOS8-网卡配置及详解
Linux中LVM逻辑卷管理
1.数码相框-相框框架分析(1)
Ubuntu armhf 版本国内源
Linux中raid磁盘阵列
搭建简易网站
access教程之Access简介
mysql 安装了最新版本8.x版本后的报错:
Mysql空间数据&空间索引(spatial)
如何远程连接SQL Server数据库的图文教程
复制SqlServer数据库的方法
搜索sql语句
sql中返回参数的值
sql中生成查询的模糊匹配字符串
数据定义功能
数据操作功能