在尝试更多地了解Python的过程中,我尝试编写一个程序,当给定链接时,该程序将在Web上执行操作。我正在使用selenium模块,并从它webdriver。当前代码如下所示:
$.ajax
但问题在于,当我将from selenium import webdriver
def supremeTest():
browser = webdriver.Firefox()
browser.get('http://www.google.com')
linkElem = browser.find_element_by_name("q")
type(linkElem)
linkElem.click()
更改为webdriver.Firefox()
时,程序会打开Chrome页面,然后在任何操作完成之前退出。
我想知道为什么会这样,我正在使用python3,而且我确实拥有最新版本的ChromeDriver。我查看了ChromeDriver的帮助部分,但从我看到的情况来看,那里没有任何帮助。
答案 0 :(得分:3)
这是因为selenium默认为firefox提供驱动程序,但不提供chrome的驱动程序。如果查看方法调用,可以使用0参数调用firefox。
webdriver.Firefox()
但不是chrome方法,它将采用名为executable_path的参数
webdriver.Chrome(executable_path='<path>')
因此,要从selenium运行chrome,您需要从here下载chrome webdriver。并保持 中的文件路径,它将正常工作。由于您已经下载了webdriver,请在chrome()的方法调用中指定路径。就像这样
path_to_chromedriver = 'C:/python34/chromedriver/chromedriver.exe'
browser2 = webdriver.Chrome(executable_path = path_to_chromedriver)
希望它有所帮助。