如何在Selenium中找到特定但不起眼的元素,而不使用像Beautiful Soup这样的解析器?

时间:2012-12-01 00:58:49

标签: python selenium

我正在使用Selenium尝试在网页中找到一组如下所示的特定元素:

<br>Time remaining: <span style='color:red;font-weight:bold' > 4 mins, 40 secs</span>
<br>Time remaining: <span style='color:red;font-weight:bold' > 12 mins</span>
<br>Time remaining: <span  > 5 hrs, 39 mins</span>

通常有大约10到20个,在我意识到有些不是红色之前,我只是用过这个:

timeleft = browser.find_elements_by_css_selector("span[style='color:red;font-weight:bold']")

元素的文本可以在“分钟,秒”,“分钟”,“秒”,“小时,分钟”等之间变化。我试图找到一种方法来获得没有“风格”的元素。< / p>

1 个答案:

答案 0 :(得分:1)

这应该对你有用,除非时间词出现在你不想要的页面的其他跨度中......

browser.find_elements_by_xpath(
    "//span[contains(text(), 'secs') or contains(text(), 'mins') or contains(text(), 'hrs')]")