如果我通过chromedriver打开Chrome并导航到URL,则在导航栏中只能获取一个数据:。所有的google解决方案(正确的chromedriverversion,URL中的protocoll等)都没有帮助我。
package de.vhv.selenium;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class OpenChromeAndNavigate {
@Test
public void test() {
System.setProperty("webdriver.chrome.driver", "C://vhventw//selenium//chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://www.google.de");
}
}
此外,如果我添加--headless并侦听调试端口,则一切正常。但是我不想让它无头运行。
package de.vhv.selenium;
import org.junit.Test;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
public class OpenChromeAndNavigate {
@Test
public void test() {
System.setProperty("webdriver.chrome.driver", "C://vhventw//selenium//chromedriver.exe");
WebDriver driver = new ChromeDriver(getDesiredCapabilities());
driver.get("https://www.google.de");
}
private ChromeOptions getDesiredCapabilities() {
ChromeOptions options = new ChromeOptions();
options.addArguments("--headless");
// options.addArguments("--disable-extensions"); // disabling extensions
// options.addArguments("--disable-gpu"); // applicable to windows os only
// options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
// options.addArguments("--no-sandbox");
options.addArguments("--remote-debugging-port=9223");
return options;
}
}
有什么想法可以尝试吗?
设置:
Chrome版本= 71.0.3578.80
Chromedriver版本= 2.46.628402
答案 0 :(得分:0)
您需要注意以下几点:
不确定您的项目结构,但我建议避免使用 .
字符和 selenium
一词内的包名称中,如下所示:
package de.vhv.selenium;
通过包含{em> chromedriver.exe 的绝对路径的System.setProperty()
行传递的 Value 部分应通过以下方式表示: 转义的反斜杠为:
System.setProperty("webdriver.chrome.driver", "C:\\vhventw\\selenium\\chromedriver.exe");
如果您使用的是 Chrome版本72 ,请下载 ChromeDriver 2.46 或 ChromeDriver 72.0.3626.69
@Test
。driver.quit()
方法内调用tearDown(){}
,以优雅地关闭和销毁 WebDriver 和 Web Client 实例。答案 1 :(得分:0)
我弄清楚了,线
options.addArguments(“-remote-debugging-port = 9225”);
解决了我的问题。我已经在无头运行中使用它来监听端口并观看无头运行。但这解决了我满头跑的问题。
return new ChromeDriver(getDesiredCapabilities());
private ChromeOptions getDesiredCapabilities() {
ChromeOptions options = new ChromeOptions();
//options.addArguments("--headless");
options.addArguments("--disable-extensions"); // disabling extensions
options.addArguments("--disable-gpu"); // applicable to windows os only
options.addArguments("--disable-dev-shm-usage"); // overcome limited resource problems
options.addArguments("--no-sandbox");
options.addArguments("--remote-debugging-port=9225");
return options;
}
答案 2 :(得分:0)
我在同一个问题上苦苦挣扎,然后我意识到我忘了以:
开始测试$ I-> amOnPage('/');
一定要先尝试再深入。