0

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

# 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 语句,但为什么呢?因为我有相同的代码,例如作者,它很快。我知道使用剧作家不好,最好是其他模块。

4

1 回答 1

0

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

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

请参阅:https ://playwright.dev/python/docs/api/class-locator#locator-inner-text

于 2021-12-19T09:42:41.177 回答