这种情况:
现在是我的问题,我能以某种方式为找到的每个元素找到唯一的标识符吗?我的目标是通过使用Xpath或CSS选择器来获取与Selenium相同的元素。因此,如果我可以为jQuery中的元素生成明确的选择器,那将是最直接的方法。也欢迎其他想法。
我需要一种自动方法来标识jQuery中的元素,可以将其“转换”为Selenium元素/定位符。
/编辑
为了更清楚一点:
如果我在jQuery中选择了一个元素:
webDriver.executeScript("var element = $('#myDiv input.test')");
现在,我想要这样的东西:
WebElement webElement = webDriver.executeScript("return element");
那可能吗?
我找到了解决方案,这很简单:
String jQuerySelector = "'#myDiv input.test'"; RenderedWebElement webElement = (RenderedWebElement) ((JavascriptExecutor) webDriver).executeScript("return $(" + jQuerySelector+ ").get(0);");
使用在Selenium中预先选择的jQuery中的元素也可以工作:
String jQuerySelector = "arguments[0]"; ((JavascriptExecutor) webDriver).executeScript("return $(" + jQuerySelector+ ").doSomethingInJquery();", webElement);