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

时间:2015-01-19 10:05:39

标签: java selenium-webdriver

我是Selenium测试的新手,我试图在xpath,name&的帮助下将值放入文本框中。 ID。 (java使用eclipse IDE):

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

运行时,文本框不会从上面的代码中检索。任何人都可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

使用By.id代替By.xpath

如果你坚持xpath那么: 从://开始:.//

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

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

答案 1 :(得分:0)

通过

  

在文本框中,它正在获取值,但无法存储   在文本框字段中

你的意思是你可以看到selenium在文本框中键入这些值然后值消失了吗?

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

答案 2 :(得分:0)

如果没有HTML,很难说,但我会提出一些建议:

  1. 打开您的页面,转到Google Chrome DevTools控制台,并验证您是否可以使用xpath找到该元素。所以你要输入:
  2. $ x(“// * [@ id ='txtEmpDepAddressLine1']”)

    并验证文本框是否位于。

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