它如何使用id,class等类型来定位或标识元素。此外,BY是一个抽象类。如果可能,我们如何为它创建对象?我们知道我们不能直接为抽象创建对象,而不能由另一个类实现它。我想知道它背后的场景中,我们直接使用我们的脚本如何使用'By'机制来定位硒中的元素
公共抽象类通过 之前扩展java.lang.Object
我已经通过链接“https://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/By.html”
它如何使用id,class等类型来定位或标识元素。此外,BY是一个抽象类。如果可能,我们如何为它创建对象?我们知道我们不能直接为抽象创建对象,而不能由另一个类实现它。我想知道它背后的场景中,我们直接使用我们的脚本如何使用'By'机制来定位硒中的元素
公共抽象类通过 之前扩展java.lang.Object
我已经通过链接“https://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/By.html”
我走了也需要相同的功能,而不是创建使用下面的代码实现的功能。基本上findElement
方法使用By来定位元素。
String xPath = "xpath=//*[@text='some text']";
//String xPath = "name='some text'";
//String xPath = "id=xxxx";
driver.findElement(getBy(xPath));
private By getBy(String locator) {
String[] parts = locator.split("=", 2);
By by = null;
switch (parts[0].trim()) {
case "xpath":
by = By.xpath(parts[1]);
break;
case "name":
by = By.name(parts[1]);
break;
case "link":
by = By.linkText(parts[1]);
break;
case "id":
by = By.id(parts[1]);
break;
case "css":
by = By.cssSelector(parts[1]);
break;
default:
throw new RuntimeException("invalid locator");
}
return by;
}
希望这会对你有帮助。
感谢您的回复。这将有助于我更多地了解它。 –
@RameshUppuluri如果是,至少选择一个正确答案。乐意效劳。 –
谢谢你的建议,是的,我同意你的看法,但就采访而言,我们必须知道它的内在和外在。 :P –
你的答案是[这里](http://stackoverflow.com/questions/17407203/can-we-use-static-method-in-an-abstract-class)。你需要了解抽象类的概念。 –