首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用selenium单击图像

如何使用selenium单击图像
EN

Stack Overflow用户
提问于 2021-08-31 21:15:12
回答 2查看 587关注 0票数 2

我试图点击包含以下代码的按钮:

代码语言:javascript
复制
<div style="text-align:center" id="plus_res">
<img src="https://www.tunlancer.com/theme/images/plus_resv2.png" align="plus d'elements" title="plus d'elements" style="cursor:pointer" onclick="plus_resultat()">
</div>

我试过:

代码语言:javascript
复制
image = driver.find_element_by_xpath("//img[contains(@src,'https://www.tunlancer.com/theme/images/plus_resv2.png')]")

driver.execute_script("arguments[0].click();", image)
代码语言:javascript
复制
driver.find_element_by_id('plus_res').click()
代码语言:javascript
复制
driver.find_element_by_xpath('//*[@id="plus_res"]/img').click()

但它显示的是NoSuchElementException。我该怎么修呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-08-31 21:22:03

也许你得加点时间。

像这样的事情应该有效:

代码语言:javascript
复制
time.sleep(5)
driver.find_element_by_css_selector('img[src="https://www.tunlancer.com/theme/images/plus_resv2.png"]').click()
票数 1
EN

Stack Overflow用户

发布于 2021-08-31 21:19:03

在访问该元素之前,我想您错过了一个延迟/等待。

请试试这个:

代码语言:javascript
复制
wait = WebDriverWait(driver, 20)
wait.until(EC.visibility_of_element_located((By.XPATH, '//img[@onclick="plus_resultat()"]'))).click()

您将需要下列导入:

代码语言:javascript
复制
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

此外,元素也可能在iframe中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69005375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档