您好我正在使用Page Factory将我的所有定位器保留在一个类中。
@FindBy(xpath="//select[@ng-model='selectedLeadSource']")
WebElement source_of_lead;
public Select getSourceOptions() {
return new Select(source_of_lead);
}
但我无法使用等待,因为它给我一个错误。
wait.until(ExpectedConditions.elementToBeClickable(onPage.getSourceOptions()selectByValue("运动&#34)));
错误:
ExpectedConditions类型中的方法elementToBeClickable(By)不适用于参数(void)
答案 0 :(得分:0)
使用此:: WebDriverWait wait = new WebDriverWait(driver,100);
@FindBy(的xpath = “//选择[@ NG-模型= 'selectedLeadSource']”)
WebElement source_of_lead; 元素= wait.until(ExpectedConditions.presenceOfElementLocated(source_of_lead));
选择dropdown = new选择(元素); dropdown.selectByValue( “活动”);
答案 1 :(得分:0)
ExpectedConditions.elementToBeClickable接受By或web元素。 你可以使用1. elementSelectionStateToBe(通过locator,boolean selected) 或者2. elementSelectionStateToBe(WebElement元素,选择布尔值)
期望检查是否选择了给定元素。
答案 2 :(得分:0)
使用Page Factory时无法使用等待方法。下面的代码会创建一个隐式等待,无论您想要使用多少秒。我在我的例子中使用了15个。
初始化页面对象时,请使用AjaxElementLocatorFactory。
public LoginPage(WebDriver driver) {
this.driver = driver;
PageFactory.initElements(new AjaxElementLocatorFactory(driver, 15), this);
}