无法使用Selenium .click()单击元素

时间:2014-04-29 08:47:41

标签: javascript jquery selenium selenium-webdriver

以下是HTML标记:

<div onscroll="return isc_Canvas_4.$lh()" style="position: absolute; left: 6px; top: 6px; width: 12px; height: 12px; z-index: 201854; overflow: hidden; -moz-box-sizing: border-box; cursor: pointer; margin: 0px; padding: 0px; border: 0px none; display: inline-block;" class="fa fa-caret-down" eventproxy="isc_Canvas_4" id="isc_55">&nbsp;</div>

我想使用Selenium点击此元素。我尝试过使用selenium element.click()但它无法正常工作。

任何人都可以建议其他方式吗?可能是通过Selenium中的JS或JQuery。

2 个答案:

答案 0 :(得分:0)

尝试使用以下元素执行javascript:

JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].click();", element);

答案 1 :(得分:0)

我会尝试这样的事情。

如果每次加载时DIV的ID相同:

driver.findElement(By.id("isc_55")).click();

否则,如果DIV的文本是唯一存在的文本:

driver.findElement(By.xpath("//div[contains(text(), '&nbsp;')]")).click();

或者甚至可能:

driver.findElement(By.xpath("//div[text()='&nbsp;']")).click();

对于一些更多的HTML和一些代码会有很多帮助吗?