Python Selenium—如何检查xpath中的元素是否具有特定的img src url?

Python Selenium—如何检查xpath中的元素是否具有特定的img src url?,python,selenium,selenium-webdriver,xpath,Python,Selenium,Selenium Webdriver,Xpath,这是一个小利基,但我想点击一个与selenium(python)不一致的反应,但仅限于具有特定img src的反应 我让它在点击反应的地方工作,但是它点击的是每一个反应,而不仅仅是我想要的 我尝试使用aria标签使其只单击特定元素,但是这也不起作用 if i.get_attribute('aria-label') == "You can use this instead to click on an image with that tag. tag='discord.com/asset

这是一个小利基,但我想点击一个与selenium(python)不一致的反应,但仅限于具有特定img src的反应

我让它在点击反应的地方工作,但是它点击的是每一个反应,而不仅仅是我想要的

我尝试使用aria标签使其只单击特定元素,但是这也不起作用

if i.get_attribute('aria-label') == "You can use this instead to click on an image with that tag.

tag='discord.com/assets/e14bea9653868307f4d1e70fa17e2535.svg'
try:
    i.find_element_by_xpath("//img[@src='{}']".format(tag))
    i.click()
    break
except:
    continue

如果i.get_属性('aria-label')==“您可以使用它来单击带有该标记的图像

i.find_element_by_xpath("//div[contains(@class, 'message-2qnXI6')]/div[2]/div/div[1]/div/div/div/img").get_attribute("src") 

您可以使用此选项来单击带有该标记的图像

i.find_element_by_xpath("//div[contains(@class, 'message-2qnXI6')]/div[2]/div/div[1]/div/div/div/img").get_attribute("src") 
这总是找到相同的元素

i.find_element_by_xpath(".//img").get_attribute("src") 
如果你想找到我的孩子,你必须使用:

def Bot():
    elements = driver.find_elements_by_xpath("//div[contains(@class, 'message-2qnXI6')]/div[2]/div/div[1]/div/div/div")
    for i in elements:
        if i.find_element_by_xpath(".//img").get_attribute("src") == "https://discord.com/assets/e14bea9653868307f4d1e70fa17e2535.svg":
            i.click()
            continue
        else:
            break
请参阅前面的“.”,这将查找“i”的所有子级,否则xpath搜索将始终从“/”根开始

这总是找到相同的元素

i.find_element_by_xpath(".//img").get_attribute("src") 
如果你想找到我的孩子,你必须使用:

def Bot():
    elements = driver.find_elements_by_xpath("//div[contains(@class, 'message-2qnXI6')]/div[2]/div/div[1]/div/div/div")
    for i in elements:
        if i.find_element_by_xpath(".//img").get_attribute("src") == "https://discord.com/assets/e14bea9653868307f4d1e70fa17e2535.svg":
            i.click()
            continue
        else:
            break
请参阅前面的“.”,这将查找“i”的所有子级,否则xpath搜索将始终从“/”根开始



切换
continue
break
。当前,如果
元素数组中的第一个元素不匹配,循环将停止。这在UI中具体出现在哪里?@Jortega我切换了它们,但仍然没有结果。我认为if语句有问题。切换
continue
break
.C当前,如果
元素
数组中的第一个元素不匹配,循环将停止。这在UI中具体显示在哪里?@Jortega我切换了它们,但仍然没有结果。我认为if语句有问题。在我的for循环中?只是尝试了这个,但它不起作用。我相信如果它单击图像,它将不起作用eds单击我的elements变量中的元素。在我的for循环中?刚刚尝试了这个,但它不起作用。我相信如果它单击图像,它将不起作用,它需要单击我的elements变量中的元素。这与我要查找的内容一致,但会引发NoElementException错误。是否有更简单的方法将I用作检查t的元素他/img child for?@Rohan请添加html,是
//div[contains(@class,'message-2qnXI6')]/div[2]/div/div/div[1]/div/div/div/img
一个
//div[contains(@class,'message-2qnXI6')]/div[2]/div/div/div[1]/div
,你能找到
//div div[contains(@class,'message-2qnXI6')/div][]的子元素吗/div/div/div//div[contains(@class,'message-2qnXI6')]/div[2]/div/div[1]/div/div/div/img
是的,在我的帖子中我添加了xpath将要访问的html。div class=“reactioniner-15NvIl”是它需要单击的元素,但我需要验证它下面的img部分。@Rohan what//div[contains(@class,'message-2qnXI6')]/div[1]/div/div/div“这是从您添加的html中找到的?在img标记之后的div?添加完整的html试试看,只有我才能知道这是我在寻找的东西,但是它抛出了NoElementException错误。有没有更简单的方法使用i作为元素来检查/img子元素?@Rohan请添加html,is
//div[contains?”(@class,'message-2qnXI6')]/div[2]/div/div[1]/div/div/div/img
一个
/div[contains(@class,'message-2qnXI6')]/div[2]/div[2]/div/div[1]/div/div/div/div[1]/div/div/div/div
,您是否能够找到
/div[contains(@class,'message-2qnXI6')]/div]/div[2]/div]/div/div/div/img
是的,在我的帖子中我添加了xpath将要访问的html。div class=“reactioniner-15NvIl”是它需要单击的元素,但我需要验证它下面的img部分。@Rohan what”//div[包含(@class,'message-2qnXI6')]/div[2]/div/div/div[1]/div/div/div/div“这是从您添加的html中找到的?img标记后面的div?添加完整的html尝试,然后只有我能告诉您一些事情。”