我们在 Selenium Java 中有 @FindBys 和 @FindAll,如何使用相同的代码在 Python 中查找定位器
We have @FindBys and @FindAll in Selenium Java, how to use same code to find locators in Python
我们在 Selenium Java 中有 @FindBys 和 @FindAll,如何使用相同的代码在 Python 中查找定位器?
@FindBys( { @FindBy(className = "class1") @FindBy(className = "class2")} )
请指导我。
你有多种方式:
使用 lambda 和 CLASS_NAME:
WebDriverWait(driver,20).until(lambda driver: driver.find_element(By.CLASS_NAME, "class1") or driver.find_element(By.CLASS_NAME, "class2"))
使用CSS_SELECTOR:
WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".class1, .class2"))
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
参考资料
您可以在以下位置找到一些相关的详细讨论:
我们在 Selenium Java 中有 @FindBys 和 @FindAll,如何使用相同的代码在 Python 中查找定位器?
@FindBys( { @FindBy(className = "class1") @FindBy(className = "class2")} )
请指导我。
你有多种方式:
使用 lambda 和 CLASS_NAME:
WebDriverWait(driver,20).until(lambda driver: driver.find_element(By.CLASS_NAME, "class1") or driver.find_element(By.CLASS_NAME, "class2"))
使用CSS_SELECTOR:
WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".class1, .class2"))
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC
参考资料
您可以在以下位置找到一些相关的详细讨论: