在java中使用Selenium选择下拉值

时间:2016-03-21 09:14:44

标签: java selenium testing

我知道这个问题已被多次询问过,我已经尝试了其他线程上的所有解决方案,但我无法工作,所以希望有人可以在这里提供帮助。

我正在编写一个Selenium测试用例,到目前为止,我已经开始研究这个问题了。我认为这应该是非常基本和容易的,但由于某种原因,我无法让它工作。我试图在下拉列表中选择一个值,但当我尝试通过ID,XPath或链接选择值时,我不断收到以下错误。这是错误 -

Unable to locate element: {"method":"xpath","selector":".//*[@id='value_3']/a"}

这是我找到元素的代码 -

webdriver.findElement(By.xpath(".//*[@id='value_3']/a"));

有人会有任何建议吗?我也试过放入一个计时器,以确保通过执行此操作在页面上加载所有内容 -

webdriver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);      

但我仍然得到同样的错误。

3 个答案:

答案 0 :(得分:1)

你的xpath错了。链接有id,所以你的路径正在寻找另一个链接。尝试:

webdriver.findElement(By.xpath(".//a[@id='value_3']"));

答案 1 :(得分:0)

您可以尝试“脏方式”,如下所示:下载Firefox,安装Selenium IDE插件,记录自己执行此特定操作,然后查看IDE生成的输出。试试这个。如果这也不起作用,则可能/可能Dropbox位于不同的框架中。

答案 2 :(得分:0)

new Select(driver.findElement(By.xpath(" .//* [@ id =' value_3'] / a")))。selectByvisibletext("您喜欢的文字");

您可以使用selectByvalue。

for Wait:user thread.sleep(1000);