繁体   English   中英

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

[英]Selenium - How do I check my element in xpath has a specific img src url?

这有点小众,但我想点击 discord 与 selenium(python)的反应,但只有具有特定 img src 的反应。

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

我试图让它只点击使用 aria-label 的特定元素,但这也不起作用。

if i.get_attribute('aria-label') == "🗝️, press to react":

我的 function:

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("//div[contains(@class, 'message-2qnXI6')]/div[2]/div/div[1]/div/div/div/img").get_attribute("src") == "https://discord.com/assets/e14bea9653868307f4d1e70fa17e2535.svg":
            i.click()
            continue
        else:
            break

HTML:

<div class="reactionInner-15NvIl" aria-label="🗝️, press to react" aria-pressed="true" role="button" tabindex="0">
   <img src="/assets/e14bea9653868307f4d1e70fa17e2535.svg" alt="🗝️" draggable="false" class="emoji">
   <div class="reactionCount-2mvXRV" style="min-width: 9px;">2</div></div>

我只是不完全确定如何 go 关于这个并“验证”我单击的元素是否具有我想要的特定 img src。

任何帮助表示赞赏。

您可以使用它来单击带有该标签的图像。

tag='discord.com/assets/e14bea9653868307f4d1e70fa17e2535.svg'
try:
    i.find_element_by_xpath("//img[@src='{}']".format(tag))
    i.click()
    break
except:
    continue
i.find_element_by_xpath("//div[contains(@class, 'message-2qnXI6')]/div[2]/div/div[1]/div/div/div/img").get_attribute("src") 

这总是找到相同的元素,

"//div[contains(@class, 'message-2qnXI6')]/div[2]/div/div[1]/div/div/div/img"

如果你想找到我的孩子,你必须使用:

i.find_element_by_xpath(".//img").get_attribute("src") 

见“。” 在前面,这将找到“i”的所有孩子,否则 xpath 搜索总是从“/”根目录开始

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM