Puppeteer ( Pyppeteer ) で、エレメントが存在しなくなるまで待つ

(Comments)

Python なので Pyppeteer。 puppeteer のJSでもほぼ同じ感じになるはず

from pyppeteer.browser import Browser
from pyppeteer.errors import TimeoutError
from pyppeteer.page import Page


async def _wait_no_exist_for_selector(page: Page, selector, timeout=30000):
for i in range(int(timeout / 100)):
try:
await page.waitForSelector(selector, timeout=100)
await asyncio.sleep(0.1)
continue
except TimeoutError:
return

raise TimeoutError(f'{selector} が消えなかった')

waitForSelector のタイムアウト値は、無かった時に使われる時間なので、もっと短くても良いかも(1とか)

あった時のポーリングの待ち時間は、その下の

await asyncio.sleep(0.1)

になる

Currently unrated

Comments

Recent Tweets

  • ytyng

    ytyng @ytyng

    apple developer の、テスト用デバイスのUDIDを1年ごとにチェックして、古い端末を消しちゃうやつ チェックボックスを入れたのを残すのか、消すのかの判断まちがって、全部のUDID消えたわ
    1 year, 2 months ago

  • ytyng

    ytyng @ytyng

    うちの会社 TORICO の 代表が今TV出てます #漫画全巻ドットコム #激レアさんを連れてきた
    1 year, 2 months ago

  • ytyng

    ytyng @ytyng

    Proofpoint にブロックされているIPアドレスからでも icloud など Apple メールアドレスにメール送信されてもブロックされてない…?
    1 year, 3 months ago

Recent Posts

Archive

2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011

Categories

Authors

Feeds

RSS / Atom