每次用到selenium元素时,都动态获取,每次重复的动作,很是麻烦,写了一个简单的函数将不同的获取方法总结一下,每次跳转到新页面时,统一调取函数获取所涉及的元素即可
public WebElement get_webElement(WebDriver d, char optiontype, String value)throws NoSuchElementException{
WebElement element = null;
if (d == null || optiontype == ’ ’ || value == null){
System.out.println(“Function[get_webElement] error:Parameters must not NULL”);
return null;
}
switch(optiontype){
case 'C':
element = d.findElement(By.className(value));
return element;
case 'i':
element = d.findElement(By.id(value));
System.out.println("finish");
return element;
case 'n':
element = d.findElement(By.name(value));
return element;
case 'l':
element = d.findElement(By.linkText(value));
return element;
case 't':
element = d.findElement(By.tagName(value));
return element;
case 'c':
element = d.findElement(By.cssSelector(value));
return element;
case 'p':
element = d.findElement(By.partialLinkText(value));
return element;
case 'x':
element = d.findElement(By.xpath(value));
return element;
default:
return element;
}
}
其中,WebDriver 代表浏览器驱动;optiontype代表按什么类型获取元素;value表示元素对应类型的值