gpt4 book ai didi

java - org.openqa.selenium.NoSuchElementException : Unable to locate element error

转载 作者:行者123 更新时间:2023-11-30 02:04:57 26 4
gpt4 key购买 nike

我使用 Internet Explorer 和 Firefox 使用 Selenium Web 驱动程序在 JAVA 中编写了以下代码。每次我都会遇到同样的错误。尝试使用“id”和“xpath”方法,但仍然失败。也尝试添加一些延迟,仍然不起作用。

我的 Firefox 的 JAVA 代码:

package ieconnector;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.Capabilities;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.remote.RemoteWebDriver;

public class FireFoxConnector {

public static void main(String[] args) {
try{
GetBrowserProperty gbp = new GetBrowserProperty();
System.setProperty("webdriver.ie.driver",gbp.getIeConnection());
System.setProperty("webdriver.gecko.driver","D:\\softwares\\Selenium\\geckodriver-v0.21.0-win64\\geckodriver.exe");
WebDriver wb = new FirefoxDriver();
Capabilities caps = ((RemoteWebDriver) wb).getCapabilities();
System.out.println("Caps is "+caps);
wb.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
//wb.navigate().to("https://somewebsite.com:22222/SSO/ui/SSOLogin.jsp");
wb.get("https://somewebsite.com:22222/SSO/ui/SSOLogin.jsp");
wb.manage().deleteAllCookies();
wb.manage().window().maximize();
//wb.findElement(By.id("usertxt")).sendKeys(("user").toUpperCase());
//wb.findElement(By.className("passtxt")).sendKeys("password");
//WebDriverWait wait = new WebDriverWait(wb,10);
//WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("usertxt")));
wb.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS);
//wb.findElement(By.id("usertxt")).sendKeys("USER");
wb.findElement(By.xpath("//*[@id='usertxt']")).sendKeys("USER");
System.out.println("Testing is successful");
} catch (Exception e) {
e.printStackTrace();
}

}

}

下面是我在 IE/Firefox 中的开发工具中的 HTML 代码的屏幕截图。

HTML

最佳答案

根据您共享的用于查找“用户 ID”字段的 HTML,您可以使用以下解决方案:

  • css选择器:

    wb.findElement(By.cssSelector("input.txtbox#usertxt")).sendKeys("USER");
  • xpath:

    wb.findElement(By.xpath("//input[@class='txtbox' and @id='usertxt']")).sendKeys("USER");

关于java - org.openqa.selenium.NoSuchElementException : Unable to locate element error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51643870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com