使用 selenium 只抓取文本
Scraping only text using selenium
我正在尝试使用硒来抓取文本(动态),硒在网站中如下所述。我在整个互联网上进行了搜索,但我知道了如何在文本出现在单独的 div/p/span 或任何其他标签中时抓取它。有什么想法请帮忙
<div class='css-87uc0g e1tk4kwz1'>
Text
<span>
4.5
<span> ::before </span>
</span>
<div>
我只想在此处提取文本,但 span 标签不允许。
注意:
文本的值是动态的。
使用以下 xpath
查找 div
元素并使用 javascript executor
并获取第一个子值。
element=driver.find_element_by_xpath("//div[.//span[contains(.,'Rating')]]")
print(driver.execute_script('return arguments[0].firstChild.textContent;', element).strip())
或者您可以简单地替换值。
element=driver.find_element_by_xpath("//div[.//span[contains(.,'Rating')]]")
print(element.text.replace(driver.find_element_by_xpath("//span[contains(.,'Rating')]").text,'').strip())
我正在尝试使用硒来抓取文本(动态),硒在网站中如下所述。我在整个互联网上进行了搜索,但我知道了如何在文本出现在单独的 div/p/span 或任何其他标签中时抓取它。有什么想法请帮忙
<div class='css-87uc0g e1tk4kwz1'>
Text
<span>
4.5
<span> ::before </span>
</span>
<div>
我只想在此处提取文本,但 span 标签不允许。
注意: 文本的值是动态的。
使用以下 xpath
查找 div
元素并使用 javascript executor
并获取第一个子值。
element=driver.find_element_by_xpath("//div[.//span[contains(.,'Rating')]]")
print(driver.execute_script('return arguments[0].firstChild.textContent;', element).strip())
或者您可以简单地替换值。
element=driver.find_element_by_xpath("//div[.//span[contains(.,'Rating')]]")
print(element.text.replace(driver.find_element_by_xpath("//span[contains(.,'Rating')]").text,'').strip())