我正在使用 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());
}
结果是:
Clicked : -> css selector: div.footer>div.links>ul>li>a[title='My Account']]
但我想要:
Clicked : myaccountLink
最佳答案
您可以尝试构建这样的自定义类:
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'"
关于java - 通过WebDriverEventListener打印WebElement变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31046530/