为了账号安全,请及时绑定邮箱和手机立即绑定

通过python selenium访问html文本

通过python selenium访问html文本

小唯快跑啊 2022-05-24 09:24:27
我正在尝试获取文本(由主题标签标记)。<div class="XYZ">        <h5>    "          #######Reports due by##############    "          <span class="hbl" data-hint="task due date">            <i class="icon-boxy-sign"></i>          </span>        </h5>        <script type="jsv#61^"></script><script type="jsv#123_"></script>        <script type="jsv#60^"></script><script type="jsv#124_"></script>      <script type="jsv#59^"></script><p>#################07/10/2020#######################</p><script type="jsv/125^"></script>    <script type="jsv/52_"></script><script type="jsv/24^"></script>        <script type="jsv/42_"></script><script type="jsv/23^"></script>      </div>获取主题标签内文本的 Python 行:txt = dat =wait(driver, 10).until(EC.visibility_of_element_located((By.CSS_SELECTOR, 'div[class="XYZ"]'))).text我希望该行打印:“报告到期时间”和“2020 年 7 月 10 日,我不断收到 timeoutException 和 Unable to locate element 错误。
查看完整描述

2 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

更改依据。CSS_SELECTOR 到 By.XPATH 并将定位器更新为 '//div[@class='XYZ']'。应该管用。



查看完整回答
反对 回复 2022-05-24
?
呼唤远方

TA贡献1856条经验 获得超11个赞

看来你很接近了。要提取文本(由主题标签标记),您必须诱导WebDriverWait并且visibility_of_element_located()您可以使用以下任一Locator Strategies:


使用CSS_SELECTOR:


print(WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, "div.XYZ"))).get_attribute("title"))

使用XPATH:


print(WebDriverWait(browser, 20).until(EC.visibility_of_element_located((By.XPATH, "//div[@class='XYZ']"))).get_attribute("title"))

注意:您必须添加以下导入:


from selenium.webdriver.support.ui import WebDriverWait

from selenium.webdriver.common.by import By

from selenium.webdriver.support import expected_conditions as EC

在这里您可以找到有关 selenium.common.exceptions.NoSuchElementException 的相关讨论:消息:没有这样的元素:尝试使用 selenium 单击下一步按钮时无法找到元素


查看完整回答
反对 回复 2022-05-24
  • 2 回答
  • 0 关注
  • 158 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信