**您好,我是硒的新手-Python 消息中的图像有时是“ messages-4”,有时是“ messages-3” 它会无缘无故地发生变化(在应用程序中),所以我想让硒尝试它们两者来选择正确的一种 那可能吗?谢谢,
driver.find_element_by_css_selector(“#messages-4> div.container-1ov-mD> a> img”)
driver.find_element_by_css_selector(“#messages-3> div.container-1ov-mD> a> img”)
我尝试过:
driver.find_element_by_css_selector(“#messages-4> div.container-1ov-mD> a> img”或“#messages-3> div.container-1ov-mD> a> img”)**
答案 0 :(得分:0)
一种简单的实现方法是使用try和except块,如下所示:
try:
driver.find_element_by_ccs_selector('#messages-3)
except Exception as e:
print(e)
driver.find_element_by_ccs_selector('#messages-4')
这意味着驱动程序将首先尝试查找消息3,如果消息3不存在,则驱动程序将尝试查找消息4
答案 1 :(得分:0)
您可以如下所示组合这两个消息。
如果要使用 find_element_by_css_selector 获取第一个匹配元素,则要获取所有匹配元素,然后使用 find_elements_by_css_selector
driver.find_element_by_css_selector("#messages-3,#messages-4 > div.container-1ov-mD > a > img")
注意:,
是CSS中的OR
运算符。