python - 如何在没有类的情况下在 python selenium 上获取跨度值
问题描述
我是 python 新手,刚开始学习,我尝试在其他网站上获得价值跨度,我试图在红色标记上获得这张图片的价值,但我仍然得到一个错误。
HTML 的快照:
解决方案
要打印文本4 hours 30 minutes
,您可以使用以下任一定位器策略:
使用
css_selector
和get_attribute("innerHTML")
:print(driver.find_element(By.CSS_SELECTOR, "div.lab-preamble__details.subtitle-headline-1 > span").get_attribute("innerHTML"))
使用
xpath
和文本属性:print(driver.find_element(By.XPATH, "//div[@class='lab-preamble__details subtitle-headline-1']/span").text)
理想情况下,您需要诱导WebDriverWait并且visibility_of_element_located()
您可以使用以下任一Locator Strategies:
使用
CSS_SELECTOR
和文本属性:print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.lab-preamble__details.subtitle-headline-1 > span"))).text)
使用
XPATH
和get_attribute("innerHTML")
:print(WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='lab-preamble__details subtitle-headline-1']/span"))).get_attribute("innerHTML"))
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
参考
链接到有用的文档:
get_attribute()
方法Gets the given attribute or property of the element.
text
属性返回The text of the element.
- 使用 Selenium 的 text 和 innerHTML 之间的区别
推荐阅读
- web2py - 执行 table.field.max() 时 Web2py 错误“pydal.objects.Expression object”
- angular - 如何通过单击表的 td 来单击材料复选框
- javascript - Discord.js:member.guild.channels.find 不是函数
- git - git 忽略所有 .DS_Store 文件
- javascript - JS 中的 HTTP JSON 请求 - CORS 问题
- maven - 用于 Maven/Rest Assured 项目的 Azure Devops 管道
- javascript - 通过弹出容器显示的按钮?
- javascript - 为什么我的 js 代码无法正确加载画布?
- python - 如何在电报机器人对话处理程序的对话中保存数据
- flutter - 使用共享首选项列表颤动保存和检索通知