📅  最后修改于: 2023-12-03 15:38:08.760000             🧑  作者: Mango
在编写自动化测试脚本时,常常需要等待某个元素的属性值更改为特定值之后再进行后续操作。这时候,我们可以使用Selenium提供的Expected Conditions
结合WebDriverWait
来等待元素属性的变化。
具体实现可以参考以下步骤:
ExpectedConditions
和WebDriverWait
。from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
WebDriverWait
等待元素的某个属性值更改为特定值。例如,我们等待元素的class
属性值变为active
:wait = WebDriverWait(driver, 10)
element = wait.until(EC.element_to_be_clickable((By.ID, 'element_id')))
wait.until(EC.attribute_to_be(By.ID, 'element_id', 'class', 'active'))
在这里,我们首先等待元素可点击,然后继续等待元素class
属性变为active
。
value
属性变为123
:wait.until(EC.attribute_to_be(By.ID, 'element_id', 'value', '123'))
EC.and_
函数:wait.until(EC.and_(EC.attribute_to_be(By.ID, 'element_id', 'class', 'active'), EC.attribute_to_be(By.ID, 'element_id', 'value', '123')))
在这里,我们等待元素class
属性为active
且value
属性为123
。
这样,就可以利用Expected Conditions
和WebDriverWait
等待元素属性的变化了。
以上为如何使用量角器等待元素的属性更改为特定值的介绍。