gpt4 book ai didi

python - Google Chrome 和 selenium webdriver 无法按预期工作

转载 作者:行者123 更新时间:2023-11-28 19:28:55 33 4
gpt4 key购买 nike

我正在尝试使用 seleniumPython 2.7.x 通过 Google Chrome 运行测试。这样做时出现以下错误:

WebDriverException: Message: Service chromedriver unexpectedly exited. Status code was: 1

此错误消息的完整回溯如下所示:

Traceback (most recent call last):
File "/home/google_search/search.py", line 347, in parse_search_results
browser_type=web_browser)
File "/home/google_search/search.py", line 218, in get_urls
browser = config_browser(proxy=proxy, agent=user_agent)
File "/home/google_search/search.py", line 154, in config_browser
chrome_options=options, service_args=["--verbose"], service_log_path=CHROME_FILE_LOG
File "/home/.local/lib/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 62, in __init__
self.service.start()
File "/home/.local/lib/python2.7/site-packages/selenium/webdriver/common/service.py", line 96, in start
self.assert_process_still_running()
File "/home/.local/lib/python2.7/site-packages/selenium/webdriver/common/service.py", line 109, in assert_process_still_running
% (self.path, return_code)
WebDriverException: Message: Service chromedriver unexpectedly exited. Status code was: 1

我的驱动版本:ChromeDriver 2.33.506092 (733a02544d189eeb751fe0d7ddca79a0ee28cce4我的浏览器版本:Google Chrome 62.0.3202.62
我的 selenium 版本:selenium (3.5.0)


这是如何运行的:

def config_browser(user_agent=None, proxy=None)
options = webdriver.ChromeOptions()
if user_agent is not None:
options.add_argument("--user-agent={}".format(user_agent))
if proxy is not None:
options.add_argument("--proxy-server={}".format(proxy))
profile = webdriver.Chrome(
chrome_options=options, service_args=["--verbose"], service_log_path=CHROME_FILE_LOG
)
return profile

当我运行它时,我无法获取日志,因为它在任何事情发生之前就退出了。 chromedriver 可在我的路径中执行(使用 chmod a+x/usr/bin/chromedriver),位于以下位置:/usr/bin/chromedriver

我做了一些研究,我目前的 chromedriver 版本支持 60-62,可能是我的版本高于 62,但这似乎不合逻辑。这里有什么问题,我该如何解决这个问题?


可能值得一提的是,我正在使用 pyvirtualdisplay 隐藏浏览器,它在调用配置浏览器本身的函数之前启动:

browser_display = Display(visible=0, size=(800, 600))
browser_display.start()
browser = config_browser(proxy=proxy, agent=user_agent)

编辑:

如评论中所述,我尝试将我的 selenium 版本更新为 3.6.0,它仍然会产生相同的错误。所以我卸载了 google-chrome-stable 并使用预安装的 chromium-browser 版本:Chromium 61.0.3163.100 Built on Ubuntu,在 Ubuntu 17.04 上运行。我仍然收到与新指南完全相同的错误:

指南:

Chromium 浏览器:Chromium 61.0.3163.100 Built on Ubuntu , running on Ubuntu 17.04 Selenium 版本:3.6.0

WebDriverException: Message: Service chromedriver unexpectedly exited. Status code was: 1

最佳答案

我改用 Firefox。

from selenium import webdriver
profile = webdriver.FirefoxProfile()
# do whatever you want with the profile
browser = webdriver.Firefox(profile)
return browser

显然,在任何地方(甚至在 Github 上)都完全不知道这个问题,所以我只是说忘记 Chrome 并坚持使用 Firefox,因为它确实有效。

关于python - Google Chrome 和 selenium webdriver 无法按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46960575/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com