0

我正在尝试使用 selenium 访问某个网站并单击按钮加载数据然后下载 csv 文件,我尝试使用 id、Xpath、class by 我仍然收到错误:任何提示都会有所帮助。

这是我的代码如下:

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)

4

1 回答 1

0

我认为错误是由于您尝试单击的按钮包含在iframe.

通常,您必须切换到 aniframe才能访问其中的元素。

尝试

driver.switch_to.frame(driver.find_element_by_id('data-app-frame'))

这会将 webdriver 切换到iframe具有id data-app-frame

现在尝试使用单击您的按钮driver.find_element_by_id('btn-load-data')

这应该有效。

在这里,我正在访问您在问题中尝试访问的相同按钮。在问题中,您尝试访问 parentdiv而不是button元素本身。建议访问实际元素而不是其父元素

您可以在此处了解有关帧切换的更多信息

于 2021-07-05T10:58:22.110 回答