我正在尝试使用selenium访问某个网站,然后单击一个按钮加载数据,然后下载csv文件,我已经尝试过使用id、Xpath、class。我仍然收到一个错误:任何提示都会有所帮助。
下面是我的代码:
from selenium import webdriver
driver = webdriver.Chrome('chromedriver.exe')
driver.get('https://eatradingacademy.com/software/forex-historical-data/')
driver.find_element_by_id("webpushr-deny-button").click()
driver.find_element_by_class_name('text-center')
这是我得到的错误:
NoSuchElementException: Message: no such element: Unable to locate element: {"method":"css selector","selector":".text-center"}
(会话信息:chrome=91.0.4472.124(
我认为错误是由于您试图单击的按钮被包裹在iframe
中。
通常,您必须切换到iframe
才能访问其中的元素
尝试
driver.switch_to.frame(driver.find_element_by_id('data-app-frame'))
这将把网络驱动程序切换到具有id
数据应用程序帧的iframe
现在尝试使用driver.find_element_by_id('btn-load-data')
点击您的按钮
这应该行得通。
在这里,我正在访问您在问题中尝试访问的相同按钮。在问题中,您试图访问父div
,而不是button
元素本身。建议访问实际元素,而不是其父
你可以在这里了解更多关于帧切换的信息