java - 获取同一元素的运行时属性

标签 java selenium selenium-webdriver

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

感谢任何帮助!!!

最佳答案

您不能使用以前的属性作为应用程序的行为,因此您需要相应地指示 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找到任何一个元素,那么它就会点击相同的元素。

希望对你有帮助:)

关于java - 获取同一元素的运行时属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32436385/

相关文章:

java - 在 AltBeacon 库中,我看到 iBeacons 每秒刷新多次的原因是什么?

java - getDrawable(int) 已弃用,可能会产生 NullPointerException

python - 无法以正确的方式从网页收集标题

python - Browser.close() 循环打开一个新窗口

Javascript 按钮单击在 selenium webdriver 中不起作用

python - 按特定列拖动对表进行排序 python selenium

java - GridBagLayout,在 JButtons 之间添加空间

Eclipse 中的 Java 属性文件

java - 您可以根据自己的需要创建一个 TestNG Listener

java - Webdriver getText 不返回任何有意义的值