У меня есть более 1 XPath, указывающий на веб-элемент, и я хочу определить, являются ли оба элемента эквивалентными (т. Е. Если я выполняю действие 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));
Это возвращает истину до тех пор, как точка XPath к тому же элементу.
Однако я не уверен, как метод определяет равенство? И есть ли какие-либо обстоятельства, когда два веб-элемента на самом деле одинаковы (т. Е. Любое действие, выполняемое на них, будет выполняться на одном и том же веб-элементе), но метод показывает, что они разные? Или наоборот?
Я пытаюсь разработать надежный метод для определения равенства двух веб-элементов.
Я использую Java и Selenium.
Благодаря
WebElement - это интерфейс. Вам нужно будет определить тип фактического объекта, который у вас есть. Затем вы можете найти источник для этого объекта в Интернете, чтобы увидеть реализацию equals() –