Java Selenium WebDriver Can't find form field

独自空忆成欢 提交于 2019-12-07 21:58:20

问题


I'm testing a registration page and I've tried name, xpath, id, class and nothing seems to work.

here is my selenium code

  driver.findElement(By.id("pushMenu")).click();
    Thread.sleep(2000);
    driver.findElement(By.linkText("Register")).click();
    Thread.sleep(2000);
    WebElement l = driver.findElement(By.name("name"));

and here is the form tag I'm trying to access

<input type="text" name="name" placeholder="">

explicit wait attempt code:

 WebDriverWait wait = new WebDriverWait(driver, 10);
    WebElement element = wait.until(ExpectedConditions.elementToBeClickable(By.name("name")));
    driver.findElement(By.name("name")).sendKeys("Testing100");

回答1:


in HTML u shared there is no name tag. so try by.linktext("Manager")




回答2:


Please check the time specified in the wait is sufficient for the element to load completely.
OR
Use different locators like cssSelector if name, id(if present) is not working.

CssSelector example
driver.findElement(By.cssSelector(input[name='name']));



回答3:


For accessing the form field, use

driver.findElement(By.xpath("//input[@name='name']"));




回答4:


If you are still facing the issue of accessing the element after implicit/explicit wait, then try putting a screenshot before you access the element and see if the element is present on the page or not.



来源:https://stackoverflow.com/questions/34722895/java-selenium-webdriver-cant-find-form-field

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!