[英]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.