【问题标题】:How to use multiple locators to find an element in selenium webdriver如何使用多个定位器在 selenium webdriver 中查找元素
【发布时间】:2017-12-29 22:37:12
【问题描述】:
如何使用 selenium webdriver 同时使用多个定位器来定位页面中的元素。我有 2 个 id 相同但值不同的元素。因此,为了访问它们,我需要结合使用 id 和 value。语法是什么。我正在使用java。此外,我正在自动化一个仅适用于 IE 的应用程序。由于我无法访问 xpath,所以我没有使用它。
element=driver.findElement(By.id("id").cssSelector("input[@value='value1']"));
【问题讨论】:
标签:
java
selenium-webdriver
browser-automation
【解决方案1】:
Xpath 允许您使用and 和or 来评估多个属性。
所以你可以使用这个来形成一个xpath
//input[@id='id' and @value='value1' or @value='value2']
例如在 google 主页上,有两个按钮,Google Search 和
I'm Feeling Lucky。两者都有相同的类型submit 找到这些按钮我可以形成一个类似于这个的xpath
//input[@type='submit' and @value='Google Search' or @value="I'm Feeling Lucky"]
【解决方案2】:
cssSelector 可用于通过 id、class 或任何其他属性或这些属性的组合来定位元素。例如,您可以使用
定位元素
element = driver.findElement(By.cssSelector("#id[value='value1']"));