Selenium - Xpath 定位具有不同 ID 的元素

Selenium - Xpath locate elements with different IDs

我试图定位有时可能具有不同 ID 的元素。 这是示例:

id = 'greenbay_packers"
id = "Sf_49ers" 

现在,有没有办法在 find_element 方法中进行某种或运算?这样我就可以使用相同的元素定位器进行测试步骤?

此外,如果这不可能,是否有一种方法可以编写故障安全例程,尝试使用 find_element(:id,'greenbay_packaers") 进行定位,但如果失败,请尝试 find_element(: id,'sf_49ers")。并且仅当未找到以上 2 个时,测试才会失败。

谢谢

有可能 or

//*[(@id='test1') or (@id='test2')]

对于第二部分, 我建议您尝试 try..catch..finally,因为您只有两个条件可以匹配

try
{
    Driver.FindElement(By.Id("ID1"));
}
catch (NoSuchElementException ex)
{
    Driver.FindElement(By.Id("ID1"));
}
finally
{
    Console.WriteLine("Failed");
}

用C#编写