我想点击website的列表,点击按钮(' Todas')。浏览器html源代码中的Todas
按钮ID 和我的python代码为:
Button Id:'ctl00_contentPlaceHolderConteudo_BuscaNomeEmpresa1_btnTodas'
from selenium import webdriver
import time
driver = webdriver.Firefox(executable_path='')
driver.implicitly_wait(12)
driver.get("http://www.bmfbovespa.com.br/pt_br/produtos/listados-a-vista-e-derivativos/renda-variavel/empresas-listadas.htm")
driver.find_element_by_id("ctl00_contentPlaceHolderConteudo_BuscaNomeEmpresa1_btnTodas")
错误讯息:
NoSuchElementException:无法找到元素: {"方法":" ID""选择器":" ctl00_contentPlaceHolderConteudo_BuscaNomeEmpresa1_btnTodas"}
实际上,该元素存在于浏览器html
中我阅读了相关主题,但我没有得到解决方案。
那么,我需要做些什么才能点击该按钮并获取数据列表?
非常感谢!
答案 0 :(得分:0)
当我在您提供的website中看到此TODAS
按钮位于ID为iframe
的{{1}}内时,您需要在找到此内容之前切换该帧按钮如下: -
bvmf_iframe
答案 1 :(得分:0)
原因是因为此页面使用的是iFrame,您需要在尝试查找元素之前先切换到iframe:
iframe = driver.find_elements_by_tag_name('iframe')[0]
driver.switch_to_default_content()
driver.switch_to_frame(iframe)
driver.find_element_by_id("ctl00_contentPlaceHolderConteudo_BuscaNomeEmpresa1_btnTodas")