selenium的使用,首先要有对应的浏览器插件,下载地址:http://npm.taobao.org/mirrors/chromedriver/
查看Chrome对应版本,我们以2.45为例
![](https://img.haomeiwen.com/i13103448/bec858d739fe8ca1.png)
打开之后,里面有一个notes.txt文件夹
![](https://img.haomeiwen.com/i13103448/1ea9e663e3800c26.png)
打开之后就可以看到和浏览器版本的对应关系了
![](https://img.haomeiwen.com/i13103448/e75cf199e852a3a8.png)
下载下来压缩包之后解压出来的文件就是我们需要的
![](https://img.haomeiwen.com/i13103448/9a3ad0a62a0606d3.png)
现在有两种用的方法,第一种就是把这个文件随便找个地方放,然后在用selenium的时,将这个文件的路径写进去
driver = webdriver.Chrome(“路径”)
获取将这个文件配置到你的Chrome浏览器的文件中
![](https://img.haomeiwen.com/i13103448/b7c5748d3c03c757.png)
这用就可以不用写路径就可以直接运用了
driver = webdriver.Chrome()
下面说一下selenium的一些应用,首先用selenium获取的元素是无法直接获取属性的
需要用到get_attribute("属性"),这个要注意
获取到的元素.get_attribute("href")
然后就是弹出框的处理
有时会遇到点开一个选项,那个元素就在那里,但是无论如何就是获取不到,是不是很烦人,这是就要注意了,会不会是弹出框,selenium也有处理弹出框的函数
写过游戏的应该有所了解,一般一个窗口就是一个聚丙,弹出框就是打开了一个新的聚丙,我们需要找到这个聚丙
curHandle = driver.current_window_handle #获取当前窗口聚丙
allHandle = driver.window_handles #获取所有聚丙
然后确定到这个聚丙上面就可以找到上面的元素了,一般打开一个新的窗口,就会增加一个聚丙,聚丙数量还是很有限的,所以这个方法准确率还是很高的
for h in allHandle:
if h != curHandle:
web.switch_to.window(h) #切换聚丙,到新弹出的窗口
break
一些常用设置
options = webdriver.ChromeOptions()
options.add_experimental_option('excludeSwitches', ['enable-automation'], ) #开发者模式
options.add_experimental_option("prefs", {"profile.managed_default_content_settings.images":2}) #不加载图片
# options.add_argument('--headless') #不显示界面
driver = webdriver.Chrome(options=options)
网友评论