katalon如何用WebDriver定位多个相同属性的元素

上一篇 / 下一篇  2018-08-18 19:38:59 / 个人分类:katalon

使用场景:
如图,定位元素的时候同时定位三个元素,用xpath的父子节点比较不稳定,那么怎么去定位到某一个元素呢
一.用driver.findelements找出所有的元素,再按元素的index去定位
katalon是没有findelements,因此需要引用selenium的webDriver,同时封装方法
1)katalon引用selenium的webDriver
1。引用包
import org.openqa.selenium.By
import org.openqa.selenium.WebDriver
2。声明变量
def By by = By.xpath("//button[text()='Edit']")
def WebDriver driver
3。获取当前浏览器的driver
driver = DriverFactory.getWebDriver()
4。封装方法
/**
* 用于多个相同元素中指定元素的点击操作
* @param driver 浏览器驱动
* @param by 定位原素
* @param index 指定元素,如第1个元素则index=0
*/
@Keyword
def public static void webelementClick(WebDriver driver,By by ,int index){
//定位所有的单选按钮对象并存储在list中
List<WebElement> webElements = driver.findElements(by);
//遍历list找到指定value的单选按钮
webElements.get(index).click();
}
5。进行调用
keyword.webelementClick(driver, by ,0)
二、用jquery定位
WebUI.executeJavaScript("\$('button').eq(1).click()", null)

TAG:

 

评分:0

我来说两句

Open Toolbar