如何使用 python selenium 识别此数值?
How do I identify this numeric value using python selenium?
所以对于这些行中的每一行,都有一个 "xxx Answers" 元素。
如何提取它的数值以便我可以进行如下比较:
如果 x > 50 那么等等等等。
这里是获取值的xpath。
//div[@class='u-text--gray-light-metadata']/a
Python 代码应该看起来像这样(每个名称都有多个答案元素 1,因此您必须获取元素并进行迭代,但这里我给出示例如何获取第一个)
text = driver.find_element_by_xpath("(//div[@class='u-text--gray-light-metadata']/a)[1]").text
# extract the number of answers
answers = text.split(' ')[0]
一个粗略的通用解决方案应该涵盖所有这些问题:
import re
import selenium
driver = webdriver.Firefox()
driver.get("http://example.com/") # your website here
anchors = driver.find_elements_by_tag_name('a')
matches = []
for anchor in anchors:
match = re.fullmatch(r'(\d+) Answers?', anchor.text)
if match:
matches.append(match.group(1))
print(matches)
所以对于这些行中的每一行,都有一个 "xxx Answers" 元素。
如何提取它的数值以便我可以进行如下比较:
如果 x > 50 那么等等等等。
这里是获取值的xpath。
//div[@class='u-text--gray-light-metadata']/a
Python 代码应该看起来像这样(每个名称都有多个答案元素 1,因此您必须获取元素并进行迭代,但这里我给出示例如何获取第一个)
text = driver.find_element_by_xpath("(//div[@class='u-text--gray-light-metadata']/a)[1]").text
# extract the number of answers
answers = text.split(' ')[0]
一个粗略的通用解决方案应该涵盖所有这些问题:
import re
import selenium
driver = webdriver.Firefox()
driver.get("http://example.com/") # your website here
anchors = driver.find_elements_by_tag_name('a')
matches = []
for anchor in anchors:
match = re.fullmatch(r'(\d+) Answers?', anchor.text)
if match:
matches.append(match.group(1))
print(matches)