在我的应用程序中,我可以期望出现两个元素(a或b(中的一个。我目前有:el1 = driver.find_element_by_id("a")
但是,我想做一些类似的事情:el1 = driver.find_element_by_id("a" or "b")
硒中可能存在这种情况吗?如果有帮助的话,我在Python中做这件事。
简单明了的解决方案:
try:
# Look for first element
el1 = driver.find_element_by_id('a')
except selenium.common.exceptions.NoSuchElementException:
# Look for the second if the first does not exist
el1 = driver.find_element_by_id('b')
在这种情况下可以使用xpath:
el1 = driver.find_element_by_xpath("//*[@id= 'a' or @id = 'b']")
我假设two tags in HTML
有两个不同的ids
,您可以像上面一样在xpath中编写or
条件。
更新:
提醒任何使用安卓应用程序实现此功能的人,语法为:
el1 = driver.find_element_by_xpath("/hierarchy/a" or "/hierarchy/b")
在纯Python中,您可以执行以下操作:
el1 = driver.find_element_by_id("a") if driver.find_element_by_id("a") else driver.find_element_by_id("b") if driver.find_element_by_id("b") else None