【问题标题】:Scrape text with playwright is slow on part of the code (using page.locator)在部分代码上用 playwright 抓取文本很慢(使用 page.locator)
【发布时间】:2022-01-21 04:01:15
【问题描述】:

我在剧作家那里做了一个剧本,用来刮一些文字。 这是我有问题的部分,这里我用定位器刮了一个系列名称:

# Series
global nfo_series
try:
  nfo_series = page.locator("#Series > span:nth-child(1)")
  nfo_series = nfo_series.inner_text()
  logger_scraper.info('nfo_series is now:%s', nfo_series)
except:
  logger_scraper.info('This book as no series.')

它的工作原理,当系列不存在时被跳过,但代码移动需要30秒,日志如下,是什么问题,我可以改进它吗?

19:28:31 nfo_author is now:Thomas Fincham
19:29:01 This book as no series.

我认为是因为 try 语句,但为什么呢?因为我有相同的代码,例如作者,它很快。 我知道用playwright不好,最好是其他模块。

【问题讨论】:

    标签: python playwright playwright-python


    【解决方案1】:

    Playwright 的默认计时器是 30 秒。 所以在 try 部分,它尝试了 30 秒来获取系列,但没有,所以仅在 30 秒后,它就进入了异常。

    您可以在调用inner_text()时设置自定义超时。

    见:https://playwright.dev/python/docs/api/class-locator#locator-inner-text

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-10
      • 2019-03-28
      • 2017-12-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-17
      • 2018-10-23
      相关资源
      最近更新 更多