当前位置: 首页 > 知识库问答 >
问题:

Python+Selenium-无法定位图像元素(无法单击图像)

松飞翮
2023-03-14

顺便说一句,我使用的是Python 3.8、Chrome 81.0.4044.122和Selenium的最新版本。

到目前为止,我使用:driver=webdriver.chrome()driver.find_element_by_xpath(“path_of_element”)单击按钮,然后我找到一个有图像而不是文本的登录按钮。我尝试了XPath、CSS选择器、id、name、text链接、ActionChains(move_to)都不起作用。

这是HTML:这里点击我请。

我花了30分钟在谷歌上搜索,发现的都是6年前的堆栈溢出问题。他们建议我使用WebDriverWait或更改框架。没有一个奏效(我可能搞错了)。我对硒是个新手,所以请和蔼一点,解释一下困难的东西。

如何找到图像按钮的正确XPath并单击它?

driver.find_element_by_css_selector('.nice-select')。单击()driver.find_element_by_xpath(“/HTML/Body/div1/div[3]/div/div/div/div/div/div/div/div/div/div/div/div/div/div/ul/li2”)。单击()driver.find_element_by_xpath(“


共有1个答案

穆博简
2023-03-14

尝试以下CSS选择器:

.my_menu>a

代码应如下所示:

driver.find_element_by_css_selector(".my_menu>a").click()

此外,尝试使用显式wait定位元素:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By


WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".my_menu>a"))).click()
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import time


driver = webdriver.Chrome()
driver.get("https://oc31.ebssw.kr/onlineClass/search/onlineClassSearchView.do?schulCcode=00898&schCssTyp=online_mid")
WebDriverWait(driver, 20).until(EC.element_to_be_clickable(
    (By.CSS_SELECTOR, ".my_menu>a"))).click()
time.sleep(5)
 类似资料:
  • 顺便说一句,我使用Python 3.8、Chrome 81.0.4044.122和最新版本的Selenium。 到目前为止,我使用:单击button,然后找到一个具有图像而不是文本的登录按钮。我尝试了XPath、CSS选择器、id、名称、文本链接、ActionChains(move_to)什么都不起作用。 下面是HTML:请点击我。 如何找到图像按钮的正确XPath并单击它? driver.fin

  • 我在Python中的Selenium webdriver上遇到了一个图像上传问题,我检查了HTML并使用完整的Xpath来定位元素,但它不起作用。我仍然得到此错误selenium.common.exceptions.nosuchelementException:消息:没有这样的元素:无法定位元素:{“method”:“xpath”,“selector”:“ 这是我的代码: 界面Screnshot

  • 我在Python中的Selenium webdriver上遇到了一个图像上传问题,我检查了HTML并使用完整的Xpath来定位元素,但没有工作。我仍然收到此错误selenium.common.exceptions.nosuchelementexception:消息:没有这样的元素:找不到元素:{“method”:“XPath”,“selector”:“/html/body/div[2]/div/d

  • 问题内容: 我正在尝试搜寻房地产网站上的商品。它有一个aspx表单,必须在提交之前填写。 http://www.cbre.us/PropertyListings/Pages/Properties-for- Sale.aspx 我只关心俄勒冈州的多户家庭财产。所以这是我的第一次尝试: 当我运行此脚本时,出现错误“找不到元素“ ForSalePropertyType”。在这里我在做什么错? 问题答案:

  • 我想在selenium中找到我的文本字段,但我不知道如何找到(我第一次使用sellenium)。 我试过: 或者通过xPath和cssSseltor String在dev工具中由chrome生成。 请帮助我,我将感谢解释。 这是html:

  • 在谷歌航班页面上,我想点击对话框底部的右箭头(增加天数)(附图)。第二次点击给了我错误。 这是我的代码: 截图