java - 为什么chromedriver浏览器不可见?

标签 java selenium ubuntu selenium-chromedriver

我正在尝试运行基本的 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/

相关文章:

java - Selenium - Maven/TestNG : how can we add testng parameters in Java class while adding "main method" to create executable/runnable. jar 文件?

ubuntu - 在 anaconda 中安装包 gcc-7 时发生错误

java - 在 ubuntu-server 中为 Tomcat7 设置 JPDA

java - Google map 应用程序出错

java - 线程是否会在阻塞时退出每个同步方法或对象?

java - 禁用 Chrome 上的 native 事件?

java - 代理服务器配置

c# - 合并两个有条件的列表

python - 如何使用 selenium python 更改同一父元素中可拖动子元素的位置

Google Compute Engine VM 上的 Ubuntu do-release-upgrade