element.isDisplayed()返回false,其中元素显示在屏幕上

时间:2015-05-22 10:40:05

标签: javascript selenium selenium-webdriver

element.isDisplayed()返回false,因为元素显示在屏幕上,因此我无法点击该元素。尝试使用下面的代码,但没有运气

                    Actions cursor = new Actions(driver);
                    cursor.moveToElement(element);
                    cursor.click(element).build().perform();

也在下面的代码中使用:

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

再次无效。

HTML

<TD id=PanelTable class=menulevel1norm onmouseover="this.className='menulevel1hl';" onmouseout="this.className='menulevel1norm'" onclick="JAVASCRIPT CODE">&nbsp;Order&nbsp;</TD>
<DIV style="BORDER-BOTTOM: medium none; POSITION: absolute; BORDER-LEFT: medium none; VISIBILITY: hidden; BORDER-TOP: medium none; BORDER-RIGHT: medium none" name="actiondiv">
    <DIV myonclick="SOME JAVASCRIPT CODE HERE">Order Console</DIV>
    <DIV myonclick="SOME JAVASCRIPT CODE HERE">Order Release</DIV>
</DIV>

1 个答案:

答案 0 :(得分:0)

你正在做的一件事是错误的是执行这个JavaScript:

arguments[0].click;

由于.click字段存在,它不会引发错误。 (只要您传递给.executeScript的是WebElement个实例。)但是,.click是一种方法而您没有调用它。你需要:

arguments[0].click();