我正在尝试从以下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标记,但不适用于此。
答案 0 :(得分:1)
根据您共享的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")
答案 1 :(得分:0)
首先,不是“元素”,而是“元素”。第二点是,您没有收到ttext。你刚刚叫元素。
所以,这是代码:
element_text = driver.find_element_by_xpath(“ // div [@ class ='sem-report-header-td-diff']”)。text