【问题标题】:how do I select element in nest html by playwright如何在剧作家的嵌套 html 中选择元素
【发布时间】:2022-01-07 20:51:00
【问题描述】:

我想从下面的html中提取文本,我尝试了不同的方法,但仍然失败。page_id、article_id是随机的。我想得到一个文本列表。

html:

<div id=ufi_{page_id}>
  <div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>    
    <div>
      <div id={article_id}>
          <div></div>
          <div>I want to get the text here</div>
          <div></div>
      </div>
      <div id={article_id2}>
          <div></div>
          <div>I want to get the text here</div>
          <div></div>
      </div>
      <div id={article_id3}>
          <div></div>
          <div>I want to get the text here</div>
          <div></div>
      </div>
    </div>
  </div>
</div>

代码:

comments = page2.query_selector(f'xpath=//div[@id="ufi_{page_id}"]>>div>>//div[5]')
comments_ls = comments.query_selector_all("div>>//div[1]")
if comments:
    for com in comments_ls:
        print(com.text_content())

【问题讨论】:

    标签: python playwright playwright-python


    【解决方案1】:

    我建议使用 Playwright 代码生成器,让它为您生成选择器:https://playwright.dev/docs/cli#generate-code

    并使用定位器而不是 ElementHandles,它们提供了简单的实用方法,如 .nth(42).first.last,并自动等待元素与给定的选择器一起出现。见这里:https://playwright.dev/python/docs/api/class-locator

    有关选择器的更多信息,请参见此处:https://playwright.dev/docs/selectors

    【讨论】:

      猜你喜欢
      • 2022-11-12
      • 1970-01-01
      • 1970-01-01
      • 2013-03-25
      • 2020-08-10
      • 1970-01-01
      • 2021-09-27
      • 2016-11-24
      相关资源
      最近更新 更多