我使用 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 中的開發(fā)人員工具中的 HTML 代碼的屏幕截圖。
1 回答

飲歌長嘯
TA貢獻1951條經驗 獲得超3個贊
根據您共享的用于定位用戶 ID字段的 HTML,您可以使用以下解決方案:
cssSelector
:wb.findElement(By.cssSelector("input.txtbox#usertxt")).sendKeys("USER");
xpath
:wb.findElement(By.xpath("//input[@class='txtbox' and @id='usertxt']")).sendKeys("USER");
添加回答
舉報
0/150
提交
取消