576*_*76i 4 python webautomation playwright playwright-python
使用 Playwright for Python,我想等待内容更改。
我可以像这样获取选择器的内容
month = page.querySelector('.day__month_btn').innerText()
Run Code Online (Sandbox Code Playgroud)
在此示例中,我正在读取日期选择器元素的月份值,并希望选择下个月。然后等待,直到月份发生变化。
要更改月份,我可以单击下个月图标
page.querySelector('.next').click()
Run Code Online (Sandbox Code Playgroud)
我现在想等到点击被接受。
一种 hacky 的方法是等待,即重复获取该值,直到它发生变化
while True:
if page.querySelector('.day__month_btn').innerText() != month:
break
time.sleep(0.2)
Run Code Online (Sandbox Code Playgroud)
在现实世界中,我还需要检查超时。
有一个更好的方法吗?
您可以使用waitForFunction:
month = page.querySelector(".day__month_btn").innerText()
page.waitForFunction("document.querySelector('.day__month_btn').innerText() !== '" + month + "'")
Run Code Online (Sandbox Code Playgroud)