我可以在 Selenium 中使用 获取元素的 ID ((RemoteWebElement) webElement).getId()
,它返回如下字符串:
{e9b6a1cc-bb6f-4740-b9cb-b83c1569d96d}
我想知道那个ID的来源。我正在使用FirefoxDriver()
,所以这可能与 Firefox 有关吗?
有没有办法仅通过知道此 ID 来使用 Jquery 选择元素?
我可以在 Selenium 中使用 获取元素的 ID ((RemoteWebElement) webElement).getId()
,它返回如下字符串:
{e9b6a1cc-bb6f-4740-b9cb-b83c1569d96d}
我想知道那个ID的来源。我正在使用FirefoxDriver()
,所以这可能与 Firefox 有关吗?
有没有办法仅通过知道此 ID 来使用 Jquery 选择元素?
您根本不需要访问内部 ID。只需将 WebElement 实例传递给 JavascriptExecutor.executeScript:
import org.openqa.selenium.JavascriptExecutor;
((JavascriptExecutor) driver).executeScript("$(arguments[0]).whatever()", myElement)
这个包含大量字母和数字的 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"));