Chrome 59挂起 - 无头和 - 代理服务器标志 [英] Chrome 59 hangs with --headless and --proxy-server flag
问题描述
和适当的驱动程序(Chromedriver 2.30),
我试着将代码迁移到它。
- 无头标志本身可以工作。
- 代理服务器标志本身可以工作,但是
合并两者会挂起浏览器。
是否有解决方法?
Env:
- Chrome 59
- Chromedriver 2.30 <
- selenium 2.46.0
代码:
from selenium import webdriver
chop = webdriver.ChromeOptions()
chop.add_argument( - headless)
chop.add_argument(--proxy-server = socks5:// )
d = webdriver.Chrome(chrome_options = chop)
print(done)
d.get('http://ipinfo.io')
print(d.page_source)
追溯:
Traceback(最近一次调用的最后一个):
在< module>文件中的第5行t.py
d = webdriver.Chrome(chrome_options = chop)
文件/home/t/env/lib/python3.5/site-packages/selenium/webdriver/chrome/webdriver.py,第68行, in __init__
keep_alive = True)
文件/home/t/env/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py,第89行,位于__init__
self.start_session(desired_capabilities,browser_profile)
在start_session文件/home/t/env/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py,第138行
'desiredCapabilities':desired_capabilities,
文件/home/t/env/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py,第195行,执行
self.error_handler.check_response(响应)
文件/home/t/env/lib/python3.5/site-packages/selenium/webdriver/remote/errorhandler.py,第170行,在check_response
raise exception_class(message,screen,stacktrace)
selenium.common.exceptions.WebDriverExcep (消息:未知错误:Chrome无法启动:异常退出
(驱动程序信息:chromedriver = 2.30.477691(6ee44a7247c639c0703f291d320bdf05c1531b57),platform = Linux 4.4.0-21-generic x86_64)
此错误已得到解决。
我刚刚测试了以下设置:
Ubuntu 16.04 64位版本
Google Chrome 61.0.3163.59 beta (官方发布仍然挂在atm;)
Selenium 3.5.0
ChromeDriver 2.31
不再需要xvfb。 >
今天我是一个快乐的人。
So now that Chrome 59 has headless support and a proper driver for it (Chromedriver 2.30), I tried migrating my code to it.
--headless flag works by itself.
--proxy-server flag works by itself, however
combining the two hangs the browser.
Is there a workaround for it?
Env:
- Chrome 59
- Chromedriver 2.30
- selenium 2.46.0
Code:
from selenium import webdriver
chop = webdriver.ChromeOptions()
chop.add_argument("--headless")
chop.add_argument("--proxy-server=socks5://127.0.0.1:8080")
d = webdriver.Chrome(chrome_options=chop)
print("done")
d.get('http://ipinfo.io')
print(d.page_source)
Traceback:
Traceback (most recent call last):
File "t.py", line 5, in <module>
d = webdriver.Chrome(chrome_options=chop)
File "/home/t/env/lib/python3.5/site-packages/selenium/webdriver/chrome/webdriver.py", line 68, in __init__
keep_alive=True)
File "/home/t/env/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 89, in __init__
self.start_session(desired_capabilities, browser_profile)
File "/home/t/env/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 138, in start_session
'desiredCapabilities': desired_capabilities,
File "/home/t/env/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 195, in execute
self.error_handler.check_response(response)
File "/home/t/env/lib/python3.5/site-packages/selenium/webdriver/remote/errorhandler.py", line 170, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: Chrome failed to start: exited abnormally
(Driver info: chromedriver=2.30.477691 (6ee44a7247c639c0703f291d320bdf05c1531b57),platform=Linux 4.4.0-21-generic x86_64)
This bug has been resolved.
I just tested it with the follow setup:
Ubuntu 16.04 64 bit
Google Chrome 61.0.3163.59 beta (official release still hangs atm;)
Selenium 3.5.0
ChromeDriver 2.31
No more xvfb required.
I am a happy man today.
这篇关于Chrome 59挂起 - 无头和 - 代理服务器标志的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!