大佬教程收集整理的这篇文章主要介绍了检查 Selenium Element 是否包含一类中的文本,然后打印另一类的文本,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我试图在 Python 和 SELEnium 中循环一个表。
我有一个看起来像这样的网站:
<td class="td3">
<div class="bla">
<span class="label">User:</span>
<div class="text">
</td>
我需要检查 bla 类 是否包含“User:”
如果是这样,我想打印 class text 中的文本,前面有一些字符串。
如果它不包含它,我想打印它,前面没有任何东西。
这样的事情有可能吗?它尝试了获取属性和其他一些东西,但无法让它工作:/
我会使用 Beautiful Soup,这是一个用于解析 html 的出色 Python 库。以下代码解析 html 并返回 'bla' 类中的文本。
from bs4 import BeautifulSoup
html = """<td class="td3">
<div class="bla">
<span class="label">User:</span>
<div class="text">
</td>"""
soup = BeautifulSoup(html,"html.parser")
# if you know for sure that there is only one instance of the class,# you can use soup.find(...) which returns a single value instead of a list
blaList = soup.findAll(attrs={'class' : 'bla'})
for item in blaList:
if 'User:' in item.text:
# {your code prinTing the text...}
要获取 html,您可以使用 SELEnium 作为引用 here。例如,以下代码返回页面的整个 html 源。
driver = webdriver.Chrome()
driver.get("https://en.wikipedia.org")
html = browser.page_source
您还可以通过使用下面的innerHTML 属性或带有outerHTML 的元素源来获取元素的html 内容。 (更多信息here)
element = driver.find_elemenT_By_css_SELEctor("h4")
element.get_attribute('innerHTML')
,
这可以完成,但由于问题中提供的 HTML 样本很小,因此下面的示例代码可能会也可能不会起作用。它至少应该让你指向正确的方向。
步骤:
获取 TD 并查找两个子元素。根据这两个元素的内容,将特定的字符串添加到output
变量中,然后打印出来。
cells = driver.find_elements_by_css_SELEctor("td.td3")
for row in cells:
output = ""
label = row.find_elemenT_By_css_SELEctor("div.bla > span.label").text
text = row.find_elemenT_By_css_SELEctor("div.text").text
if label == "User:":
output = "some String: "
output += text
print(output)
以上是大佬教程为你收集整理的检查 Selenium Element 是否包含一类中的文本,然后打印另一类的文本全部内容,希望文章能够帮你解决检查 Selenium Element 是否包含一类中的文本,然后打印另一类的文本所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。