selenium webdriver中的driver.findElement代码优化

时间:2016-03-21 06:25:20

标签: selenium-webdriver

我编写的代码使用查找元素方法超过32次: 我想为find Element

创建一个通用的方法

我应该声明任何通用方法吗?

2 个答案:

答案 0 :(得分:1)

您的代码的更多信息将有助于解决此问题。如果您尝试访问页面上的不同元素,那么您将直接或间接地结束这32次调用。

首先检查您是否需要32种不同的元素。如果没有,请考虑将结果存储在变量中并重用它们(再次取决于您的代码/流程)。

答案 1 :(得分:0)

虽然这样做没有任何区别,但是如果你仍然想要你可以做一个像这样的方法:

public WebElement find(String type,String locator){
 driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
 WebElement we;
 if(type.equalsIgnoreCase("xpath")){
   we = driver.findElement(By.xpath(locator));
 }
 if(type.equalsIgnoreCase("id")){
   we = driver.findElement(By.id(locator));
 }
 // and so on...
}

你可以像这样使用它:

WebElement newButton1 = find("id","button1");
WebElement newLink1 = find("xpath","//a[text()='xyz']");