我在selenium项目中使用chrome浏览器。
这是我正在使用的用户代理字符串:
System.setProperty("webdriver.chrome.driver","C:\\users\\..\\chromedriver.exe");
driver = new ChromeDriver();
如果我运行脚本会发生什么:
它打开 Chrome 浏览器,一段时间后关闭它并给出错误:
org.openqa.selenium.WebDriverException:未知错误:无法 发现打开的页面(驱动程序信息:chromedriver=2.2,platform=Windows NT 6.1 x86)(警告:服务器未提供任何堆栈跟踪 信息)命令持续时间或超时:26.83 秒构建信息: 版本:'2.39.0',修订:'ff23eac',时间:'2013-12-16 16:12:12' 系统信息:主机:'QAVM-9',ip:'27.101.1.26',os.name:'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.7.0_45' 驱动程序 信息:org.openqa.selenium.chrome.ChromeDriver 位于 sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:526) 在 org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:193) 在 org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145) 在 org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:554) 在 org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:216) 在 org.openqa.selenium.chrome.ChromeDriver.startSession(ChromeDriver.java:182) 在 org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:111) 在 org.openqa.selenium.remote.RemoteWebDriver。(RemoteWebDriver.java:115) 在 org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:161) 在 org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:150) 在 org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:139)
请帮助我,它完全停止了执行。 如果需要任何其他信息,请告诉我。
这就是我为消除该错误所做的事情(
未知错误:无法发现打开的页面
)
在量角器配置文件中,添加以下内容:
capabilities: {
browserName: 'chrome',
chromeOptions: {
args: ['--no-sandbox']
}
},
最重要的一行是
--no-sandbox
;添加该行以某种方式消除了该错误。
我不太确定它为什么有效,但这是我在网上挖掘时发现的解决方法。
options.addArguments("--remote-allow-origins=*");