获取相同元素的运行时属性

时间:2015-09-07 10:23:38

标签: java selenium selenium-webdriver

当我们在谷歌搜索文本框中输入文本时,它会自动建议选项,对象会发生变化。现在我想点击"搜索"之前的按钮" Google搜索"。我创建了" Google搜索"具有名称属性的按钮和" btnK"是值。现在,属性更改为" btnG",我如何检索属性,然后使用此属性值来标识对象。这听起来像死胡同,因为对象被更改,因此我们无法检索其值。我相信我们可以在这里使用动态属性。但我被困在这里!!我正在使用selenium web驱动程序和Java。

任何帮助表示赞赏!!!

1 个答案:

答案 0 :(得分:0)

您无法使用以前的属性作为应用程序的行为,因此您需要相应地指示selenium。虽然有一种解决方案需要使用“Multiple Criteria xpath”

使用此xpath进行点击操作

driver.findElement(By.xpath("//button[@name='btnG' or @name='btnK']")).click();
driver.findElement(By.id("gs_htif0")).gettext(); // this will retrieve your value from text box

这样,如果selenium找到任何一个元素,那么它会点击相同的。

希望它会对你有所帮助:)。