代码之家  ›  专栏  ›  技术社区  ›  Matt W.

如何使用selenium headless[关闭]从div类中提取文本

  •  0
  • Matt W.  · 技术社区  · 7 年前

    我正试图从下面的div标签中提取“0%”:

    <div class="sem-report-header-td-diff ">0%</div>
    

    我现在的代码是:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    options = Options()
    options.add_argument('--headless')
    driver = webdriver.Chrome(executable_path='mypath/chrome.exe',
                          chrome_options=options)
    
    url = 'https://www.semrush.com/info/burton.com'
    driver.get(url)
    driver.implicitly_wait(2)
    change_elements = driver.find_elements_by_xpath(xpath='//div[@class="sem-report-header-td-diff "]')
    

    不知道我做错了什么。这适用于href标记,但不适用于此。

    2 回复  |  直到 7 年前
        1
  •  1
  •   undetected Selenium    7 年前

    根据您共享的HTML提取文本 0% get_attribute("innerHTML") 您可以使用以下任一解决方案:

    • css_selector :

      myText = driver.find_element_by_css_selector("div.sem-report-header-td-diff").get_attribute("innerHTML")
      
    • xpath

      myText = driver.find_element_by_xpath("div[@class='sem-report-header-td-diff']").get_attribute("innerHTML")
      
        2
  •  0
  •   Mahsum Akbas    7 年前

    首先,不是“元素”,而是“元素”。第二点是,你没有得到文本。你刚才叫元素。

    所以,这里是代码:

    元素文本=

    推荐文章