使用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>
答案 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