我正试图从巴西股票市场获得信息(BMF BOVESPA)。该网站有几个表,但我的代码无法获取它们。
以下代码旨在从“AçõesmcirculaçãonoMercado”表中获取所有数据 - >来自网页的最后一个表格。
我已尝试过以下内容,但没有一个适合我:
content = browser.find_element_by_css_selector('// div [@ id =“div1”]')
和
table = browser.find_element_by_xpath(('// * [@ id =“div1”] / div / div / div 1 / table / tbody'))
提前感谢您提出我的问题。
from selenium import webdriver
from time import sleep
url = "http://bvmf.bmfbovespa.com.br/cias-Listadas/Empresas-
Listadas/ResumoEmpresaPrincipal.aspx?codigoCvm=19348&idioma=pt-br"
browser = webdriver.Chrome()
browser.get(url)
sleep(5) #wait website to reload
content = browser.find_element_by_css_selector('//div[@id="div1"]')
HTML可以在附图中找到
另外,下面的代码到达同一个网站
url = "http://bvmf.bmfbovespa.com.br/cias-Listadas/Empresas-Listadas/BuscaEmpresaListada.aspx?idioma=pt-br"
Ticker='ITUB4'
browser = webdriver.Chrome()
browser.get(url)
sleep(2)
browser.find_element_by_xpath(('//*[@id="ctl00_contentPlaceHolderConteudo_BuscaNomeEmpresa1_txtNomeEmpresa_txtNomeEmpresa_text"]')).send_keys(Ticker)
browser.find_element_by_xpath(('//*[@id="ctl00_contentPlaceHolderConteudo_BuscaNomeEmpresa1_btnBuscar"]')).click();
content = browser.find_element_by_id('div1')
答案 0 :(得分:1)
Selenium with Python documentation UnOfficial
Hii那里
Selenium提供了以下方法来定位页面中的元素:
find_element_by_id
find_element_by_name
find_element_by_xpath
find_element_by_link_text
find_element_by_partial_link_text
find_element_by_tag_name
find_element_by_class_name
find_element_by_css_selector
为什么你的代码不起作用?因为您没有使用正确的正确代码来定位元素
你在css选择器中使用xpath
content = browser.find_element_by_css_selector('//div[@id="div1"]') #this part is wrong
如果你想选择div1
,你可以这样做content = browser.find_element_by_id('div1')
这里是正确的代码
url = "http://bvmf.bmfbovespa.com.br/cias-Listadas/Empresas-
Listadas/BuscaEmpresaListada.aspx?idioma=pt-br"
Ticker='ITUB4'
browser = webdriver.Chrome()
browser.get(url)
sleep(2)
browser.find_element_by_xpath(('//*[@id="ctl00_contentPlaceHolderConteudo_BuscaNomeEmpresa1_txtNomeEmpresa_txtNomeEmpresa_text"]')).send_keys(Ticker)
browser.find_element_by_xpath(('//*[@id="ctl00_contentPlaceHolderConteudo_BuscaNomeEmpresa1_btnBuscar"]')).click()
我测试了它并且有效:)
如果我帮助你,请将其标记为最佳答案:)