【问题标题】:In Playwright for Python, how do I use a QuerySelector to match partial text inside a tag?在 Python 的 Playwright 中,如何使用 QuerySelector 匹配标签内的部分文本?
【发布时间】:2021-02-09 15:11:24
【问题描述】:

我正在尝试使用部分文本匹配具有多个 h1 标签的页面上的 H1 标签。

对于这个例子,文本是“您的预订是”

<header data-v-20d51c72="" data-v-3cdc5826="" class="default__title">
   <h1 data-v-20d51c72="" data-v-3cdc5826="" class="default__title">Your booking was unsuccessful.</h1>
</header>

我可以像这样针对全文定位

 page.querySelector('//h1[normalize-space()="Your booking was unsuccessful."]')

我还可以获取所有h1标签的列表,然后检查所有的innerHTML

 [handle for handle in page.querySelectorAll('//h1') if handle.innerHTML().startswith('Your booking was')]

但是这样一来,我就等不及手柄出现了。

如何编写一个选择器,以便我可以匹配部分标记,以便我可以在其上使用page.WaitForSelector()

【问题讨论】:

    标签: playwright playwright-python


    【解决方案1】:

    this SO question 获得提示,一个工作的选择器是

    handle = page.querySelector('//h1[contains(., "Your booking was")]')
    

    在哪里

    print(handle.innerHTML())
    

    打印“您的预订不成功。”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-10-09
      • 2014-08-12
      • 2011-04-07
      • 2021-12-20
      • 1970-01-01
      • 2014-09-13
      • 1970-01-01
      相关资源
      最近更新 更多