Selenium Web Driver - Generic find_by()方法?

时间:2014-06-03 13:34:23

标签: python selenium selenium-webdriver selenium-ide

我正在尝试移植一些为Selenium Remote Control编写的Selenium,使用Seleneium Web Driver,从IDE重新导出到Python Web Driver格式(而不是python远程控制格式)许多定位器只是裸定位器,而不是指定它是id / name / css / xpath / etc. Selenium远程控制(& IDE)只会尝试每种方法,直到它工作。

然而,python web驱动程序导出不是这样的,并用以下内容填充每一行:

# ERROR: Caught exception [Error: locator strategy either id or name must be specified explicitly.]

对于selenium web驱动程序,是否有find_by_anything(locator)方法?我不关心速度,只关心功能。

1 个答案:

答案 0 :(得分:0)

你问题的简短回答是否定的。

Selenium中没有任何方法可以使用任何类型的定位器并为您提供web元素。它应该是id,class,xpath,css选择器等。

您可以创建一个新方法并让它为您完成工作。 Proboablably就像下面。

我自己创建的以下java方法可以接受任何类型的By对象。

public WebElement findElement(By obj){
   return driver.findElement(obj);
}