搞定webdriver
Posted python爱好部落
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搞定webdriver相关的知识,希望对你有一定的参考价值。
如今墙越来越深,连chrome也一直无法升级。当我们做web UI 自动化的时候,似乎又少了一种浏览器。在配chrome版本与chrome driver, 会有各种兼容性的问题。
好多同学会在chrome启动的时候,出现各种问题,包括我自己。
现在chrome上跑selenium, 完全是拼人品。chrome不能更新,凡是与谷歌有关的东西,除了android系统,都在墙外。
万里长城长又长!
万里长城长又长!
万里长城长又长!
跑个最简单的case:
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_id('kw').send_keys('selenium')
driver.find_element_by_id('su').click()
time.sleep(5)
Opoos! 直接抛出异常:
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary
(Driver info: chromedriver=2.4.226086,platform=Mac OS X 10.12.6 x86_64)
明显是不兼容,换chrome driver。
Opoos,好不容易浏览器打开了,却一直是空白页:
还是兼容性问题! 感觉电脑自买来就升级不了chrome, 得在升级chrome上下功夫。
虽然版本难找,但还是在某浪上找到了新版本,还能跟谷歌同步,看来还是大公司有特权。
成功了,What a fucking thing!
现在说说,使用selenium, 在各个平台上,如何启动浏览器。
Windows上:
chrome, 这个比较简单,去淘宝镜像下载一个chromedriver放到python的根目录下。
firefox, 以前selenium2 是不要装driver的,升级到selenium3以后需要装geckodriver。去github上下载一个geckodriver: https://github.com/mozilla/geckodriver/releases, 将geckodriver放到python的根目录下。
Mac上:
Chrome: 将解压后的chromedriver移动到/usr/local/bin目录下 ,否则在运行脚本时,会提示:
chromedriver executable needs to be in PATH
firefox:
geckodriver放到/usr/local/bin,或者在执行的时候,带路径,如:
from selenium import webdriver
dr = webdriver.Firefox(executable_path= '/Users/anshushu/Downloads/geckodriver')
如果以上出现了兼容性问题,都可以参照我最上面的方法解决。
万里长城长又长,
开放chrome又何妨?
如今driver搞不定!
可请安叔来帮忙。
以上是关于搞定webdriver的主要内容,如果未能解决你的问题,请参考以下文章
Selenium JavascriptExecutor 详解