Как мне определить это числовое значение с помощью Python Selen? - PullRequest
0 голосов
/ 07 мая 2019

Таким образом, для каждой из этих строк есть элемент «xxx Ответы».

Как извлечь его числовое значение, чтобы я мог выполнить сравнение, например:

, еслих> 50 тогда бла бла.

Ответы [ 2 ]

1 голос
/ 07 мая 2019

Вот 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]
0 голосов
/ 07 мая 2019

Грубое общее решение, которое должно поймать их всех:

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)
...