我有超过1个XPath指向一个web元素,我想确定这两个元素是否相等(即,如果我在这两个web元素上执行动作sendKeys()或click(),该动作将在相同网络元素)目前我使用以下方法检查平等:WebElement.equals()方法如何检查平等?
WebElement element1 = driver.findElement(By.xpath(".//*[@id='ap_email']"));
WebElement element2 = driver.findElement(By.xpath(".//*[@type='email']"));
System.out.println(element1.equals(element2));
这将返回true,只要双方的XPath指向同一个元素。
但是,我不确定该方法如何确定平等?是否有任何情况下两个网页元素实际上是相同的(即,对它们执行的任何操作都将在同一个网页元素上执行),但方法显示它们不同?或相反亦然?
我想开发一个万无一失的方法来确定两个web元素的相等性。
我正在使用Java和Selenium。
谢谢
WebElement是一个接口。您需要确定您拥有的实际对象的类型。然后,您可以在线查找该对象的源代码以查看equals()实现 –