无法在 Selenium 测试中检索文本框值

Unable to retrieve Textbox Value In Selenium Testing

我是 Selenium 测试的新手,我正在尝试借助 xpath、名称和 ID 将值放入文本框中。 (java 使用 eclipse IDE):

   driver.findElement(By.xpath(".//* [@id='txtEmpDepAddressLine1']")).sendKeys("2nd Main")   
   driver.findElement(By.xpath(".//*[@id='txtEmpDepAddressLine2']")).sendKeys("Bangalore");

而 运行,文本框未从上述代码中检索。谁能帮我解决这个问题?

使用By.id代替By.xpath

如果你坚持 xpath 那么: 开始于://而不是:.//

确保 id 值在页面上是唯一的。

如果在某些浏览器中使用 xpath id 或 ID 会有所不同。

来自

In the text box it is fetching the value but it can't able not store in the text box field

您是说您可以看到 selenium 在文本框中输入这些值然后这些值消失了吗?

如果是这种情况,可能是当 selenium 在文本框中输入值时页面上有一些 javascript 运行。您可以尝试在硒输入值之前等待。如果等待可以解决问题,您将需要编写一个方法来检测 javascript 何时完成。

没有 HTML 很难说,但我建议几点:

  1. 打开您的页面,转到 Google Chrome DevTools 控制台,并确认您可以使用 xpath 找到该元素。所以你输入:

$x("//* [@id='txtEmpDepAddressLine1']")

并验证文本框的位置。

  1. 如果 sendKeys 不在那个 id 的元素上工作,我想知道它是否不在文本字段本身上,而是在包含 table 或类似的东西上。确保 id 所在的元素是输入,因此 sendKeys 将起作用。