如何使用多个定位器在 selenium webdriver 中查找元素

How to use multiple locators to find an element in selenium webdriver

如何通过同时使用多个定位器使用 selenium webdriver 定位页面中的元素。我有 2 个具有相同 id 但不同值的元素。因此,为了访问它们,我需要结合使用 id 和 value。语法是什么。我正在使用 java。此外,我正在自动化一个只能在 IE 中运行的应用程序。因为我无法访问 xpath,所以我没有使用它。

element=driver.findElement(By.id("id").cssSelector("input[@value='value1']"));

Xpath 允许您使用 andor 来评估多个属性。 所以你可以使用这个

形成一个 xpath

//input[@id='id' and @value='value1' or @value='value2']

例如在 google 主页上,有两个按钮,Google SearchI'm Feeling Lucky。两者都有相同的类型 submit 来找到这些按钮我可以形成一个类似于此

的 xpath

//input[@type='submit' and @value='Google Search' or @value="I'm Feeling Lucky"]

cssSelector 可用于通过 id、class 或任何其他属性或这些属性的组合来定位元素。例如,您可以使用

定位元素
element = driver.findElement(By.cssSelector("#id[value='value1']"));