等待元素出现在Selenium中(WebDriverWait)

问题描述 投票:0回答:2

当我们收到 Selenium 中的元素列表时,使用“find_elements”命令,我们从该列表中选择一个元素,例如列表中的元素号 2

示例:

driver.find_elements(By.CLASS_NAME, 'container bg-black-100')[2]

现在我的问题是,如果我想编写一个命令来等待元素 2 出现在我的目标列表中,我应该如何设置以下代码!!

WebDriverWait(driver, 60).until(EC.presence_of_element_located((By.CLASS_NAME, 'container bg-black-100')))
python selenium-webdriver appium python-appium
2个回答
0
投票

您正在寻找的定位器表达式是:

WebDriverWait(driver, 60).until(EC.presence_of_all_elements_located((By.CLASS_NAME, 'container bg-black-100')))[2]

Selenium 有相当不错的文档这里


0
投票

您可以使用 xpath 来做到这一点,这给了我比类名更大的灵活性,例如这样的东西就可以了

EC.presence_of_element_located((BY.XPATH, (//*[contains(@class, 'container') and contains(@class, 'bg-black-100')])[2]))
© www.soinside.com 2019 - 2024. All rights reserved.