使用selenium(python)

时间:2016-10-13 23:19:01

标签: python selenium selenium-webdriver

使用selenium,有没有办法让脚本挑选出符合特定标准的元素?

我正在尝试做的是让selenium选择所有超过X个观看者的Twitch频道。如果你检查元素,你会发现:

<p class="info"
    562
    viewers on
    <a class="js-profile-link" href="/hey_jase/profile" 
    data-tt_content="live_channel" data-tt_content_index="1"
    data-tt_medium="twitch_directory" data-ember-action="1471">
    Hey_Jase
    </a>
</p>

2 个答案:

答案 0 :(得分:1)

首先,您可以找到所有抽搐通道链接。然后,根据视图计数过滤它们。

这些方面的东西:

import re
from selenium import webdriver


THRESHOLD = 100  

driver = webdriver.Firefox()
driver.get("url")

pattern = re.compile(r"(\d+)\s+viewers on")
for link in driver.find_elements_by_css_selector("p.info a[data-tt_content=live_channel]"):
    text = link.find_element_by_xpath("..").text  # get to the p parent element
    match = pattern.search(text)  # extract viewers count
    if match:
        viewers_count = int(match.group(1))
        if viewers_count >= THRESHOLD:
            print(link.text, viewers_count)

答案 1 :(得分:0)

很难给出一个确切的代码,因为我们只得到一小部分HTML样本,但如果你稍微调整一下,这应该会有效。

SMTP