Селектор элементов jQuery с идентификатором из Selenium 2 / WebDriver - PullRequest
5 голосов
/ 10 апреля 2011

Я могу получить идентификатор элемента в Selenium с помощью ((RemoteWebElement) webElement).getId(), который возвращает строку, подобную этой:

{e9b6a1cc-bb6f-4740-b9cb-b83c1569d96d}

Интересно о происхождении этого идентификатора.Я использую FirefoxDriver(), так может ли это быть связано с Firefox?

Есть ли способ выбрать элемент с помощью Jquery, только зная этот идентификатор?

Ответы [ 2 ]

8 голосов
/ 11 апреля 2011

Вам вообще не нужен доступ к внутреннему идентификатору.Просто передайте экземпляр WebElement в JavascriptExecutor.executeScript:

import org.openqa.selenium.JavascriptExecutor;

((JavascriptExecutor) driver).executeScript("$(arguments[0]).whatever()", myElement)
2 голосов
/ 11 апреля 2011

Этот идентификатор серии букв и цифр является внутренним идентификатором узла в DOM браузера, который соответствует вашему объекту WebElement.

Чтобы получить значение атрибута 'id', вы должны использовать метод getAttribute:

String id = myElement.getAttribute("id");

Чтобы выбрать элемент по его атрибуту 'id', вы должны использовать метод findElement следующим образом:

WebElement myElement = driver.findElement(By.id("my_element_id"));

Если вы хотите использовать селекторы jQuery, вы должны использовать метод findElement следующим образом (предположим, вы знаете, что это элемент 'div'):

WebElement myElement = driver.findElement(By.cssSelector("div#my_element_id"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...