我有超過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()實現 –