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