Sah*_*heb 34 testing python-2.7 selenium-chromedriver
当我使用chromedriver使用selenium进行测试时,我收到此错误.
selenium.common.exceptions.WebDriverException: Message: u'unknown error: Chrome failed to start: exited abnormally\n (Driver info: chromedriver=2.9.248316,platform=Linux 3.8.0-29-generic x86)'
Run Code Online (Sandbox Code Playgroud)
我确实下载了google-chrome stable和chromedriver,并使用此代码启动浏览器.
driver = webdriver.Chrome('/usr/local/bin/chromedriver')
Run Code Online (Sandbox Code Playgroud)
有人建议吗?谢谢.
Vic*_*cky 30
对于Linux:
启动显示之前启动浏览器.欲了解更多信息,请点击此
from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 800))
display.start()
driver = webdriver.Chrome()
Run Code Online (Sandbox Code Playgroud)
pjh*_*sea 26
为了帮助调试此问题,您可以使用selenium webdriver 的service_log_path和service_args参数来查看chromedriver的输出:
service_log_path = "{}/chromedriver.log".format(outputdir)
service_args = ['--verbose']
driver = webdriver.Chrome('/path/to/chromedriver',
service_args=service_args,
service_log_path=service_log_path)
Run Code Online (Sandbox Code Playgroud)
我收到了同样的异常消息,并找到了两种方法来解决它; 我不确定OP的问题是否相同,但如果没有,chromedriver日志将有希望帮助.看着我的日志,我发现chromedriver(我尝试解决这个问题时尝试2.9降至2.6)决定以非常意外的方式运行哪个浏览器.在我的chromedriver所在的目录中,我有以下文件:
$ ls -l /path/to/
-rwx------ 1 pjh grad_cs 5503600 Feb 3 00:07 chromedriver-2.9
drwxr-xr-x 3 pjh grad_cs 4096 Mar 28 15:51 chromium
Run Code Online (Sandbox Code Playgroud)
当我使用与OP相同的python代码调用chromedriver时:
driver = webdriver.Chrome('/path/to/chromedriver-2.9')
Run Code Online (Sandbox Code Playgroud)
这导致了异常消息.在chromedriver.log中我发现了这条消息:
[1.043][INFO]: Launching chrome: /path/to/chromium ...
Run Code Online (Sandbox Code Playgroud)
难以置信的!chromedriver正在尝试使用/path/to/chromium(这不是可执行文件,而是包含源代码的目录)作为要执行的浏览器!显然chromedriver尝试搜索当前目录以便在搜索我的浏览器之前运行PATH.因此,解决此问题的一个简单方法是检查chromedriver文件/目录所在的目录chrome,chromium并将它们移动到与其不同的目录chromedriver.
更好的解决方案是使用chrome_options参数明确告诉selenium/chromedriver执行哪个浏览器:
options = webdriver.ChromeOptions()
options.binary_location = '/opt/google/chrome/google-chrome'
service_log_path = "{}/chromedriver.log".format(outputdir)
service_args = ['--verbose']
driver = webdriver.Chrome('/path/to/chromedriver',
chrome_options=options,
service_args=service_args,
service_log_path=service_log_path)
Run Code Online (Sandbox Code Playgroud)
chromedriver.log现在显示:
[0.999][INFO]: Launching chrome: /opt/google/chrome/google-chrome ...
Run Code Online (Sandbox Code Playgroud)
正如所料.
Siy*_*iyu 10
使用虚拟显示器的替代解决方案是无头模式.
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument('--window-size=1420,1080')
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
driver = webdriver.Chrome(chrome_options=chrome_options)
Run Code Online (Sandbox Code Playgroud)
如果使用Linux,请确保您没有以root用户身份运行.那是什么给了我错误.
有人已经提到过--no-sandbox选项,但要扩展它:确保这是您通过的第一个选项:
System.setProperty("webdriver.chrome.driver",
Paths.get("setups", driverFolder, driverFile).toAbsolutePath().toString());
ChromeOptions options = new ChromeOptions();
Map<String, Object> prefs = new HashMap<>();
prefs.put("intl.accept_languages", "English");
options.setExperimentalOption("prefs", prefs);
options.addArguments("--no-sandbox");
options.addArguments("--disable-features=VizDisplayCompositor");
options.addArguments("--incognito");
options.addArguments("enable-automation");
options.addArguments("--headless");
options.addArguments("--window-size=1920,1080");
options.addArguments("--disable-gpu");
options.addArguments("--disable-extensions");
options.addArguments("--dns-prefetch-disable");
options.setPageLoadStrategy(PageLoadStrategy.NORMAL);
options.addArguments("enable-features=NetworkServiceInProcess");
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("marionette", true);
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
WebDriver driver = new ChromeDriver(capabilities);
driver.manage().timeouts().implicitlyWait(15, SECONDS);
driver.manage().timeouts().pageLoadTimeout(15, SECONDS);
Run Code Online (Sandbox Code Playgroud)
在其他选项之后添加时,出现错误。
| 归档时间: |
|
| 查看次数: |
40454 次 |
| 最近记录: |