python/slenium,等到 html 行中的 class 值发生变化

python/slenium, wait till class value in html line changes

编辑:我想出来了,应该是:

wait = WebDriverWait(driver, 10)
element = wait.until(element_has_css_class((By.ID, 'mail'), "emailbox-input opentip"))

我正在使用 selenium 创建一个电子邮件验证器,但我必须等到某个元素加载,即输入按钮,在开始时它的 html 是:

<input id="mail" type="text" onclick="select(this);" data-original-title="Your Temporary Email Address" data-placement="bottom" data-value="Loading" class="emailbox-input opentip disabledText" readonly="">

然后 class 从 class="emailbox-input opentip disabledText" 变为 class="emailbox-input opentip":

<input id="mail" type="text" onclick="select(this);" data-original-title="Your Temporary Email Address" data-placement="bottom" data-value="Loading" class="emailbox-input opentip" readonly="">

我希望代码等待这个特定的 class 更改,我该如何实现?

站点:https://temp-mail.org/en/

谢谢!

python 的 Selenium SDK 有 Waits 可用于此用例。官方文档中甚至有您的特定 use-case 示例:

https://selenium-python.readthedocs.io/waits.html。请参阅:自定义等待条件