【发布时间】:2020-01-15 21:57:57
【问题描述】:
我知道有一种方法可以使用 xpath 和 javascript
element = browser.find_element_by_xpath("//*[contains(text(),'text')]")
但是这种方法不检测元素/标签,它们被定义为标签,例如:
<p>
<span class="text-primary">UK</span>
+44 (0) 1865 987 667<br>
Piccadilly Gardens, 49 Piccadilly, Manchester, M1 2AP </p>
在这种情况下,如果文本是+44 (0) 1865 987,它不会得到元素。
- 此问题在许多示例中重复出现,以这种方式合并文本。可能是什么原因?
- 有没有办法在beautifulsoup中获取标签,使用文本搜索?
【问题讨论】:
-
html 中可以出现不止一次吗?
-
@QHarr 是的。可以有。我通过使用 selenium 搜索所有标签,然后与调用字符串匹配找到了解决方案。我为标签添加了 a 和 p。但是,它可以比这更通用。
标签: python selenium selenium-webdriver beautifulsoup