---
slug: "pyppeteer-wait-element-no-exist"
title: "Puppeteer ( Pyppeteer ) で、エレメントが存在しなくなるまで待つ"
description: "Python なので Pyppeteer。 puppeteer のJSでもほぼ同じ感じになるはず。\nエレメントが消えるまで待機するコードの紹介です。"
url: "https://www.ytyng.com/blog/pyppeteer-wait-element-no-exist"
publish_date: "2021-06-09T04:24:00Z"
created: "2021-06-09T04:24:00Z"
updated: "2026-02-26T21:23:44.860Z"
categories: ["Python"]
keywords: ""
featured_image_url: "https://media.ytyng.com/resize/20230812/921eb36cf78a4e26a8e60f410ed951a6.png.webp?width=768"
has_video: false
has_music: false
video_urls: []
music_urls: []
lang: "ja"
---

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

<p>Python なので Pyppeteer。 puppeteer のJSでもほぼ同じ感じになるはず</p>
<p>エレメントが消えるまで待機するコードの紹介です。</p>
<p></p>
<pre><span>from </span>pyppeteer.browser <span>import </span>Browser<br /><span>from </span>pyppeteer.errors <span>import </span>TimeoutError<br /><span>from </span>pyppeteer.page <span>import </span>Page<br /><span><br /></span><span><br /></span><span>async def </span><span>_wait_no_exist_for_selector</span>(page: <span>Page</span>, selector, timeout=<span>30000</span>):<br />    <span>for </span>i <span>in </span><span>range</span>(<span>int</span>(timeout / <span>100</span>)):<br />        <span>try</span>:<br />            <span>await </span>page.waitForSelector(selector, <span>timeout</span>=<span>100</span>)<br />            <span>await </span>asyncio.sleep(<span>0.1</span>)<br />            <span>continue<br /></span><span>        except </span>TimeoutError:<br />            <span>return<br /></span><span><br /></span><span>    raise </span>TimeoutError(<span>f'</span><span>{</span>selector<span>}</span><span> が消えなかった'</span>)</pre>
<p></p>
<p>waitForSelector のタイムアウト値は、無かった時に使われる時間なので、もっと短くても良いかも(1とか)</p>
<p>あった時のポーリングの待ち時間は、その下の</p>
<pre><span>await </span>asyncio.sleep(<span>0.1</span>)</pre>
<p>になる</p>
