通过python selenium访问html文本

我正在尝试获取文本(由主题标签标记)。


<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 错误。


小唯快跑啊
浏览 167回答 2
2回答

白衣非少年

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

呼唤远方

看来你很接近了。要提取文本(由主题标签标记),您必须诱导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 WebDriverWaitfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support import expected_conditions as EC在这里您可以找到有关 selenium.common.exceptions.NoSuchElementException 的相关讨论:消息:没有这样的元素:尝试使用 selenium 单击下一步按钮时无法找到元素
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python