在网站上找不到Selenium元素



我正在尝试使用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元素本身。建议访问实际元素,而不是其父

你可以在这里了解更多关于帧切换的信息

最新更新