- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试在 linux 中使用 chromium 浏览器运行 selenium 测试用例..
在 Linux 中设置 Chromium 浏览器的步骤:
从以下路径下载 chrome-linux.zip 并解压到 linux 机器中的某个特定路径
将最新的chromedriver linux版本文件(2.40)放入linux机器
已授予 chromedrive 文件以及 chrome-linux 文件夹的完全权限 (777)。
和 Selenium 代码:
WebDriver driver = null;
DesiredCapabilities caps = DesiredCapabilities.chrome();
ChromeOptions opts = new ChromeOptions();
opts.addArguments("--headless");
opts.addArguments("--disable-extensions");
opts.setBinary("/opt/chromeos/chrome-linux/chrome");//path of the chrome application file in linux
caps.setCapability(ChromeOptions.CAPABILITY, opts);
System.setProperty("webdriver.chrome.driver", "/opt/chromeos/chomedriver");//path of the chromedriver file in linux
driver = new ChromeDriver(caps);
driver.get("https://www.google.com/");
当我尝试运行时,出现无法访问的浏览器异常。
/opt/chromeos/chromedriver: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by /opt/chromeos/chromedriver)
/opt/chromeos/chromedriver: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/chromeos/chromedriver)
/opt/chromeos/chromedriver: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /opt/chromeos/chromedriver)
Jul 03, 2018 12:46:53 PM org.openqa.selenium.os.UnixProcess checkForError
SEVERE: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 17:00:58'
System info: host: 'ION-MUM-PreQA-JB-61-75', ip: '10.10.61.75', os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-696.el6.x86_64', java.version: '1.7.0_101'
Driver info: driver.version: ChromeDriver
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:665)
at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:249)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:144)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:170)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:138)
at com.DemoChromiumTest.main(DemoChromiumTest.java:24)
Caused by: org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 17:00:58'
System info: host: 'ION-MUM-PreQA-JB-61-75', ip: '10.10.61.75', os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-696.el6.x86_64', java.version: '1.7.0_101'
Driver info: driver.version: ChromeDriver
at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:178)
at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:166)
at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:78)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:644)
... 6 more
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:16689/status] to be available after 20012 ms
at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:107)
at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:175)
... 9 more
Caused by: com.google.common.util.concurrent.UncheckedTimeoutException: java.util.concurrent.TimeoutException
at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:143)
at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:80)
... 10 more
Caused by: java.util.concurrent.TimeoutException
at java.util.concurrent.FutureTask.get(FutureTask.java:201)
at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:130)
... 11 more
任何建议或指导将不胜感激...
最佳答案
这个错误信息...
/opt/chromeos/chromedriver: /lib64/libc.so.6: version `GLIBC_2.15' not found (required by /opt/chromeos/chromedriver)
/opt/chromeos/chromedriver: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /opt/chromeos/chromedriver)
/opt/chromeos/chromedriver: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /opt/chromeos/chromedriver)
Jul 03, 2018 12:46:53 PM org.openqa.selenium.os.UnixProcess checkForError
SEVERE: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
Exception in thread "main" org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.
...表示 ChromeDriver 无法启动/生成新的 WebBrowser 即 Chrome 浏览器 session ,因为缺少 GLIBC_2.15 和/或 GLIBC_2.14。
首先,根据您在使用 Selenium Java Client v2.53.0 时的问题详情,我没有发现您的代码块有任何问题。但是,由于您使用的是 Linux 操作系统 而不是 chrome-linux.zip,因此您必须确保下载的是 chrome-linux.tar/ chrome-linux.tz 并将其解压缩以供正确使用。
/lib64/libc.so.6: version 'GLIBC_2.15' not found
and/lib64/libc.so.6: version 'GLIBC_2.14' not found
您尝试执行的 ChromeDriver 二进制文件是在基于 GLIBC-2.15
的系统上构建的,它不会在任何使用旧 GLIBC 的系统上执行。
/usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.15' not found
同样,您尝试执行的 ChromeDriver 二进制文件是在基于 GLIBCXX_3.4.15
的系统上构建的,它不会在任何具有旧 GLIBC 的系统上执行,因为您GLIBC 早于 2.14。
看看DistroWatch.com用于兼容的二进制文件。
此外,您还没有提到您的确切环境细节,这里仍然是一些可能的原因和解决方案:
CentOS
,升级到 CentOS 版本 7
将解决您的问题。根据 chromedriver_linux64_2.1.zip not working in CentOS 6.4 (latest)你需要:
/opt/google/chrome
文件夹(您需要 sudo 权限)。 chromedriver
复制到此文件夹(这是为了简化,您可以在任何地方使用它)。创建 google-chrome
的副本作为 google-chromedriver
。 vi google-chromedriver 最后一行修改为:
exec -a "$0" "$HERE/chromedriver" "$@" (you can provide custom location of driver too).
包含在路径中
sudo ln -s /opt/google/chrome/google-chromedriver /usr/bin/chromedriver
更改权限:
chmod +x chromedriver
关于java -/opt/chromeos/chromedriver :/lib64/libc. so.6: 在 linux 上使用 chromium 浏览器找不到版本 `GLIBC_2.15'(/opt/chromeos/chromedriver 需要),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51150627/
上下文:我目前正在调试一个问题,即在一台机器上生成的二进制文件(与 lpthread 类似)在另一台机器上尝试时会导致与 pthread 相关的错误。 libtest.so 是一个共享库,似乎包含多个
我是一名优秀的程序员,十分优秀!