我正在尝试运行基本的 selenium chromedriver 脚本。
WebDriver driver = new ChromeDriver();
driver.manage().window().maximize();
//Deleting all the cookies
driver.manage().deleteAllCookies();
//Specifiying pageLoadTimeout and Implicit wait
driver.manage().timeouts().pageLoadTimeout(40, TimeUnit.SECONDS);
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
//launching the specified URL
driver.get("https://www.google.com/");
//Locating the elements using name locator for the text box
driver.findElement(By.name("q")).sendKeys("YouTube");
//name locator for google search button
WebElement searchIcon = driver.findElement(By.name("btnK"));
searchIcon.click();
driver.quit();
我正在使用 ubuntu、eclipse 和 maven 来安装项目依赖项,它们是: <dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>3.2.0</version>
<!-- <scope>test</scope> -->
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>3.2.0</version>
</dependency>
但我已经尝试了很多,我想说的任何版本。问题是当我启动脚本时,它的行为就像启用了“--headless”标志一样。它运行,从主窗口控制(它消失一秒钟)然后通过指令并在此处失败。driver.findElement(By.name("q")).sendKeys("YouTube");
该错误是预期的,如果存在所需的元素,则不会出现错误,但浏览器窗口仍然不可见。我尝试了不同版本的 Chrome 和 Chromium,但两者都是不可见的。 Geckobrowser 做得非常完美,但对于我的任务,我需要类似 Chrome 的浏览器。执行此操作时不会发生其他错误。
最佳答案
您可以尝试使用 WebDriverManger
WebDriverManager.chromedriver().setup();
WebDriver driver = new ChromeDriver();
/*
your code
*/
关于java - 为什么chromedriver浏览器不可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71391408/