在Selenium中查找具有相同html属性的元素

问题描述 投票:0回答:1
python html selenium-webdriver
1个回答
1
投票

您的目标元素位于框架内:

<iframe src="exibirDocumento?id=111845&amp;cvm=true&amp;#toolbar=0" style="width: 100%; height: 800px">
  #document
    <html>
    ...
    ...
    ...
      <table class="no_border_top" width="95%" align="center">
        ...
        ...

您需要先切换它。使用

browser.switch_to.frame(iframe_reference)
,如下所示:

url = 'https://fnet.bmfbovespa.com.br/fnet/publico/visualizarDocumento?id=111845&cvm=true'
browser = make_selenium_browser()
browser.get(url)
browser.switch_to.frame(browser.find_element_by_css_selector('iframe[src*=exibirDocumento]'))
data = browser.find_element_by_xpath('/html/body/table[28]')
print(data.text)

您还可以使用以下xpath:

data = browser.find_element_by_xpath('//table[contains(., "Outras cotas de Fundos de Investimento")]')
© www.soinside.com 2019 - 2024. All rights reserved.