将 xpath 从字符串转换为 WebElement
Converting xpath from String to WebElement
现在我在 BasePage 中使用以下方法,我希望将此方法调用到我的其他页面。
所以在下面的方法中,参数是(String xpathExpression)
,如何将其更改为WebElement并使用将在其他页面中定义的其他元素定位器。
protected boolean CheckSorting(String xpathExpression) {
List<WebElement> issueTypeDropdown = new LinkedList<>(driver.findElements(By.xpath(xpathExpression)));
LinkedList<String> issueTypes = new LinkedList<String>();
for (int i = 0; i < issueTypeDropdown.size(); i++) {
//System.out.println(issueTypeDropdown.get(i).getText());
issueTypes.add(issueTypeDropdown.get(i).getText());
}
return Compare(issueTypes);
}
您无法从 WebElement
获取定位器。如果您希望定位器策略是动态的,您可以将 By
发送到方法
protected boolean CheckSorting(By by) {
List<WebElement> issueTypeDropdown = new LinkedList<>(driver.findElements(by));
//...
}
使用:
CheckSorting(By.xpath(xpathExpression));
现在我在 BasePage 中使用以下方法,我希望将此方法调用到我的其他页面。
所以在下面的方法中,参数是(String xpathExpression)
,如何将其更改为WebElement并使用将在其他页面中定义的其他元素定位器。
protected boolean CheckSorting(String xpathExpression) {
List<WebElement> issueTypeDropdown = new LinkedList<>(driver.findElements(By.xpath(xpathExpression)));
LinkedList<String> issueTypes = new LinkedList<String>();
for (int i = 0; i < issueTypeDropdown.size(); i++) {
//System.out.println(issueTypeDropdown.get(i).getText());
issueTypes.add(issueTypeDropdown.get(i).getText());
}
return Compare(issueTypes);
}
您无法从 WebElement
获取定位器。如果您希望定位器策略是动态的,您可以将 By
发送到方法
protected boolean CheckSorting(By by) {
List<WebElement> issueTypeDropdown = new LinkedList<>(driver.findElements(by));
//...
}
使用:
CheckSorting(By.xpath(xpathExpression));