Java 找不到硒元素id

Java 找不到硒元素id,java,google-chrome,selenium,selenium-webdriver,Java,Google Chrome,Selenium,Selenium Webdriver,我正在尝试为我的工作编写一个Java程序,它可以登录Paychex(通过Chrome)并为我下载报告。我的代码可以导航到网站,但我被困在了这一点上。我正在使用Selenium Chrome web驱动程序,尽管输入了正确的名称,但我无法找到登录字段的元素id。我花了好几个小时试图弄明白这一点,但毫无结果。我试着通过id、名称、css和xpath查找元素。什么都没用!下面是网站的url和我的代码。在访问此元素方面的任何帮助都将不胜感激。 谢谢 HTML: <input name="USER"

我正在尝试为我的工作编写一个Java程序,它可以登录Paychex(通过Chrome)并为我下载报告。我的代码可以导航到网站,但我被困在了这一点上。我正在使用Selenium Chrome web驱动程序,尽管输入了正确的名称,但我无法找到登录字段的元素id。我花了好几个小时试图弄明白这一点,但毫无结果。我试着通过id、名称、css和xpath查找元素。什么都没用!下面是网站的url和我的代码。在访问此元素方面的任何帮助都将不胜感激。 谢谢

HTML:

<input name="USER" class="form-control ng-pristine ng-invalid ng-invalid-required" id="USER" required="" type="text" maxlength="50" placeholder="Enter Username" data-ng-model="user.username" data-payx-form-value="siteminder.username" data-ng-change="clearShowError()" data-payx-focus="">

您确实有正确的ID,但所需的元素位于
IFRAME
中。首先切换到
IFRAME
,然后您应该能够访问您的元素

driver.get("https://myapps.paychex.com/");
driver.switchTo().frame("login");
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("USER"))).sendKeys("MyUsername");
// do stuff but be sure to switch back to default content if you need to access elements outside the IFRAME
driver.switchTo().defaultContent();

您确实有正确的ID,但所需的元素位于
IFRAME
中。首先切换到
IFRAME
,然后您应该能够访问您的元素

driver.get("https://myapps.paychex.com/");
driver.switchTo().frame("login");
WebDriverWait wait = new WebDriverWait(driver, 10);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("USER"))).sendKeys("MyUsername");
// do stuff but be sure to switch back to default content if you need to access elements outside the IFRAME
driver.switchTo().defaultContent();

你的HTML在哪里?你确定HTML元素id是用户吗?我会在chrome中按F12,在开发者工具中点击小光标图标,然后点击字段的输入框,查看它的id设置。对不起,我这样做了,现在就是了。请编辑您的问题并添加正确格式的HTML(就像您对代码所做的那样)你的HTML在哪里?你确定HTML元素id是用户吗?我会在chrome中按F12,你可以在开发者工具中点击小光标图标,然后点击字段的输入框,查看它的id设置。对不起,我这样做了,现在就是了。请编辑你的问题并添加正确格式的HTML(就像你对代码所做的那样),这样以后的读者更容易找到。