我正在使用EventFiringWebDriver和WebDriverEventListener。在监听器中,我正在clickOn(WebElement arg0, WebDriver arg1)
方法之后实现方法。
WebElement myaccountLink =driver.findElement(By.cssSelector("div.footer>div.links>ul>li>a[title='My Account']"));
myaccountLink.click();
听众:
public void afterClickOn(WebElement arg0, WebDriver arg1) {
System.out.println("Clicked : "+arg0.toString());
}
结果是:
点击: - > css选择器:div.footer> div.links> ul> li> a [title ='我的帐户']]
但我想:
点击:myaccountLink
答案 0 :(得分:1)
您可以尝试构建这样的自定义类:
public class Selector {
public String name;
public By by;
public Selector(String name, By by){
this.name= name;
this.by = by;
}
public String getName(){
return name;
}
public By getBy(){
return by;
}
}
然后,在您的代码中:
Selector myAccountLink = ("Link to 'My account'", By.cssSelector("div.footer>div.links>ul>li>a[title='My Account']"));
System.out.println("Clicked: " + myAccountLink.getName());
// Output: "Link to 'My account'"
答案 1 :(得分:0)
我可以对此进行更正但据我所知,这是不可能的。变量名称不是用Java传递的,只是值。