5

我可以在 Selenium 中使用 获取元素的 ID ((RemoteWebElement) webElement).getId(),它返回如下字符串:

{e9b6a1cc-bb6f-4740-b9cb-b83c1569d96d}

我想知道那个ID的来源。我正在使用FirefoxDriver(),所以这可能与 Firefox 有关吗?

有没有办法仅通过知道此 ID 来使用 Jquery 选择元素?

4

2 回答 2

8

您根本不需要访问内部 ID。只需将 WebElement 实例传递给 JavascriptExecutor.executeScript:

import org.openqa.selenium.JavascriptExecutor;

((JavascriptExecutor) driver).executeScript("$(arguments[0]).whatever()", myElement)
于 2011-04-11T19:45:00.350 回答
2

这个包含大量字母和数字的 ID 是浏览器 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"));
于 2011-04-11T12:20:00.633 回答