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

我想用硒点击一个按钮

司马同
2023-03-14

我正在尝试网络抓取,我需要模拟对buttoN的点击,我已经尝试过了:

url = "https://apps5.mineco.gob.pe/transparencia/mensual/default.aspx?y=2021&ap=ActProy"
driver = driver = webdriver.Chrome()
driver.get(url)
nivelGob = driver.find_element_by_xpath('//*[@id="ctl00_CPH1_BtnTipoGobierno"]')
nivelGob.click()

并返回此错误:

selenium . common . exceptions . nosuchelementexception:消息:没有这样的元素:找不到元素:{"method":"xpath "," selector ":"//*[@ id = " CTL 00 _ CP h1 _ BtnTipoGobierno "]" }(会话信息:chrome=88.0.4324.190)

我一直试图通过css选择器,类名找到元素,但什么都没有。

这是按钮:

希望有人能帮帮我。非常感谢。

共有2个答案

穆飞龙
2023-03-14

也许DOM还没有完全加载。尝试向您的驱动程序添加隐式等待

驱动程序。隐式等待(10)#秒

屈浩波
2023-03-14

该网站实际上位于另一个框架内,因此您需要切换到该框架。试试这个:

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

url = "https://apps5.mineco.gob.pe/transparencia/mensual/default.aspx?y=2021&ap=ActProy"
driver = webdriver.Chrome()
driver.get(url)
time.sleep(3)
frame = driver.find_element_by_id("frame0")
driver.switch_to.frame(frame)
w = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "ctl00_CPH1_BtnTipoGobierno"))).click()
 类似资料:
  • 我是cucumber测试的新手。我想要一个帮助,其中网页包含一个我想点击的按钮。我尝试了我可能的方法: (1)driver.findElement(By.xpath("//按钮[包含(文本(),'添加新')]")).点击(); (2)driver.findElement(By.linkText("添加新")). Click(); (3)driver.findElement(By.xpath("//

  • 我就是不能点击按钮进入下一页。目前为止我尝试了以下方法 编辑 关键是重新定位元素,重新加载。由于我在表单中单击,底层代码发生了变化。司机。通过xpath(//button[@type='submit'][@name='button'])查找元素。因此,click()无法找到元素。重新加载驱动程序后。get(“%s/%s:%s”%(str(sys.argv[4])、str(sys.argv[2])、

  • 我正在学习硒,我需要一些帮助。好吧,我正在使用这个网站。这是用例: < li >在搜索栏中输入文本(完成) < li >按搜索按钮。(未完成) 我已尝试使用类名单击按钮,但它不起作用 我使用的是Chromedrive 74和selenium : 3.9.0版本

  • 我需要帮助创建一个div,当你点击一个按钮时,里面有自定义超文本标记语言的div会被创建。 如果这是可能的(很可能是),我正在制作一个邮箱。 谢谢!!!

  • 我用selenium和python一起使用,我试图点击一个按钮,但它似乎不起作用。下面是html结构的图片: 这里 我已经尝试通过xpath和类单击该按钮,但没有成功。它也没有给我一个错误。我为每一个答案感到高兴!