【发布时间】:2015-07-17 23:13:59
【问题描述】:
我已使用以下 xpath 在网格上查找元素。
By.xpath("//div[contains(text(),'" +EnteredCompetitionName+ "')]/preceding- sibling::div[contains(concat(' ', @class, ' '), ' slick-cell l0 r0 ')]/a/img"
问题是网格变得太大,并且无法通过 xpath 简单地使用 find element 找到我要查找的元素。因此我尝试在 selenium webdriver 中使用 javascript 执行器。
WebElement selectedCompGlass = (WebElement) js.executeScript("return document.evaluate('//div[contains(text(),' +EnteredCompetitionName+ ')]/preceding-sibling::div[contains(concat(\' \', @class, \' \'), \' slick-cell l0 r0 \')]/a/img' ,document, null, XPathResult.ANY_TYPE, null ).singleNodeValue;");
js.executeScript("arguments[0].click();", selectedCompGlass);
但是,我仍然收到以下错误:
参数列表后缺少) 命令持续时间或超时:8 毫秒构建信息:版本:'2.44.0',修订:'76d78cf',时间:'2014-10-23 20:02:37'
【问题讨论】:
-
您是否尝试过实现显式等待以等待元素加载到网格中?
-
不要认为这不是等待的问题。该元素已加载,但需要滚动才能查看。我实现了滚动并能够单击元素。但网格会越来越大,大约 15 天后,我将不得不添加更多滚动,这是我试图避免的。
标签: javascript selenium xpath selenium-webdriver