Selenium webdriver 在selenium webdriver中传递文本框中的值失败

Selenium webdriver 在selenium webdriver中传递文本框中的值失败,selenium-webdriver,Selenium Webdriver,我无法使用selenium web驱动程序在文本框中传递数据。 我使用了xpath、id和name,但它们都不起作用 driver.findElement(By.xpath("//input[@id='step2_portno_1']").sendKeys("80"); driver.findElement(By.id("step2_portno_")).sendKeys("80"); > error:unable to locate the x path.. 请帮助解

我无法使用selenium web驱动程序在文本框中传递数据。 我使用了xpath、id和name,但它们都不起作用

driver.findElement(By.xpath("//input[@id='step2_portno_1']").sendKeys("80");
driver.findElement(By.id("step2_portno_")).sendKeys("80");


       > error:unable to locate the x path..

请帮助解决上述问题。

问题似乎是selenium无法定位元素。 一旦它得到元素,只有sendkeys才能工作

请尝试以下内容:

  • 当代码试图定位该元素时,请确保该元素出现在页面上
  • 如果元素可用但仍引发“找不到元素”异常,则确保该元素不在任何帧/iframe中(您可以通过使用driver.getPageSource()在控制台上打印页面正文,然后使用ctrl+F手动搜索元素来检查这一点)
  • 如果元素在框架内,则切换到该框架,然后使用finElement
  • 如果元素在不同的Div中,那么首先尝试查找Div,然后在Div中搜索
例如:

   WebElement div1 = driver.findElement(By.id("myDiv"));
   WebElement myElement = div1.findElement(By.id("step2_portno_"));

您得到的是什么错误。嗨,Neha我使用了if方法,但是元素是不可见的。我将附加我编写的代码if(driver.findelelement(By.xpath(//div[@class='actions clearfix']/ul/li[2]/a[@role='menuitem']){System.out.println(“可见”)}else{System.out.println(“不可见”)}它正在打印else部分,因此该元素对web驱动程序不可见,但该元素可以手动编辑。请建议我解决此问题已选定()不会帮助我们识别元素是否可见。请执行一件事,在查找元素之前,在控制台上打印页面源,然后手动搜索Id为的打印内容中的元素。如果您在页面源中获得该元素,则表示该元素存在于页面上。此外,在您发布的代码段中,我可以看到您遗漏了该元素使用By.Id()时,Id中只有几个字母。只需交叉检查即可。