selenium官方教程:https://python-selenium-zh.readthedocs.io/zh_CN/latest/1.%E5%AE%89%E8%A3%85/
0. 说明:
selenium主要实现模仿人来操作来 自动填写数据,点击按钮,操作dom,缩放浏览器,切换浏览器标签,扩展外部js功能等。selenium不好操作的功能可以用js来操作,比如 自动填写数据,点击按钮,操作dom。
而bs4和scrapy是操作dom,这里还是和selenuim有很大区别。
1. 安装selenium:
推荐使用火狐来操作。
0)python3.7环境。
1)pip install --user -U selenium
2)下载对应版本或者对应win系统的
Chromedriver:http://npm.taobao.org/mirrors/chromedriver 下载对应chrome版本的驱动。
Geckodriver:https://npm.taobao.org/mirrors/geckodriver 下载最新驱动即可。
将文件解压后的exe一同放在D://python/driver目录(没有的话手动创建一个即可,exe都放在这里可以只添加一个path即可解决所有浏览器driver)。
并将D://python/driver路径直接添加在path环境中。
3)重启电脑
4)测试是否安装成功:
print("hello")
from selenium import webdriver
browser = webdriver.Chrome() # .Firefox() # 打开浏览器
browser.get('http://www.baidu.com/') # 打开页面
如果chrome浏览器或者Firefox浏览器能自动打开了百度就证明成功。
推荐使用火狐来操作。
2. 原则:
1) selenium不能操作的,请使用js操作,比如未展示在可视窗口的标签不可用selenium点击,你可以用js的click()实现点击;
2.)尽量在每个步骤操作完延时0.5秒到3秒,模仿人的习惯操作,可使用time.sleep(s)来实现。值得注意的是selenium会等待页面加载完成才会操作下一步,出现中断可能是因为页面html没有异步渲染完;
3)利用浏览器检查代码功能将xpath快捷取出来,如下图:
4)打开页面前请使用ip