python - ChromeDriver 意外退出

标签 python selenium

在尝试了解有关 Python 的更多信息时,我尝试编写一个程序,当给定链接时,该程序会在网络上执行操作。我正在使用 selenium 模块,并从中使用 webdriver。当前的代码如下所示:

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() 时,程序会打开一个 Chrome 页面,然后在执行任何操作之前退出已完成。

我想知道为什么会这样,我使用的是 python3,并且我确实有最新版本的 ChromeDriver。我查看了 ChromeDriver 的帮助部分,但从我所查看的内容来看,那里没有任何帮助。

最佳答案

这是因为selenium默认为firefox提供驱动程序,但不为chrome提供驱动程序。如果你看看方法调用,firefox 可以用 0 个参数调用。

webdriver.Firefox()

但不是 chrome 方法,它将接受一个名为executable_path 的参数

webdriver.Chrome(executable_path='<path>')

因此,要从 selenium 运行 chrome,您需要从 here 下载 chrome webdriver 。并将文件路径保留在 中,这样就可以正常工作。由于您已经下载了网络驱动程序,因此请在 chrome() 方法调用中指定路径。就像这样

path_to_chromedriver = 'C:/python34/chromedriver/chromedriver.exe'
browser2 = webdriver.Chrome(executable_path = path_to_chromedriver)

希望有帮助。

关于python - ChromeDriver 意外退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37130841/

相关文章:

firefox - 通过 webdriver 控制 Firefox 的最佳方法

Selenium:在没有输入标签的字段中输入文本 - 如何找到它是哪一个?

firefox - 关闭 Firefox 13 中的内置 RSS 阅读器

python - 元素不可见异常 : Selenium Python

python - AIOHTTP meme 命令discord.py

java - 使用 Selenium 接受 Windows 安全警报

python - 如何创建一个字典,其中每个键都是列表中的一个值,每个值都是列表中除键之外的所有值

python - 将 mongoengine.connect 从 django 中的 setting.py 中取出

python - 删除多级索引的名称

python - 打印字典列表中的单独元素