有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Selenium WebDriver中隐式等待()中的java错误

我陷入了一个有趣的境地

每当我在代码中使用隐式等待时,我的驱动程序都能够通过其XPath定位元素。然而,当我注释掉隐式wait命令时,就无法找到元素。 然后我做了一些研究,后来当我执行代码时,我发现了另一种错误。它说“未知错误:无法获得自动化扩展”

这真的很有趣,因为wait命令影响了WebDriver在页面上查找元素的方式

请说明为什么会发生这种情况,如果你们中的任何人以前也发生过这种情况,请分享你们的经验

引发错误的代码如下所示:-

package xyz;

//import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class Asnmnt11 
{
    public static void main(String[] args) //throws InterruptedException 
    {
        System.setProperty("webdriver.chrome.driver", "C:\\Users\\Vardhan\\workspace\\SeleniumProject\\files\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();

    driver.manage().window().maximize();
    driver.get("https://facebook.com");
    //driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);



driver.findElement(By.cssSelector("input.inputtext")).sendKeys("user@gmail.com");
        driver.findElement(By.cssSelector("input[tabindex='2']")).sendKeys("password");
        //Thread.sleep(2000);
        driver.findElement(By.xpath(".//*[@id='u_0_2']")).click();

        //driver.manage().timeouts().implicitlyWait(5000, TimeUnit.SECONDS);
        driver.quit();
    }

}

提前谢谢


共 (1) 个答案

  1. # 1 楼答案

    如果您通过xpath搜索元素,那么定位需要更多时间,所以最好使用隐式或显式等待。当我不用等待就使用你的代码时,它抛出NoSuchElementException

    由于facebook页面的加载时间很短,而且您正在尝试使用xpath定位元素,因此使用隐式或显式等待是非常好的

    现在你有问题了

    unknown error: cannot get automation extension

    这是chromedriver的问题,有时我在使用ChromeOptions时也会遇到。所以这与隐性等待完全无关