如何使用javascript执行器使隐藏元素可见

时间:2013-12-05 03:43:14

标签: java javascript jquery html selenium

目前正在使用Java

开发Selenium Webdriver

我试图点击按钮,但我无法点击,因为它已被隐藏。请让我知道如何使隐藏元素可见1然后如何点击按钮。

请举个例子,我的HTML标签是:

<input id="iskpiFilterAction" type="hidden" value="1" name="isKpiFilterAction"> 

3 个答案:

答案 0 :(得分:2)

嗯,你的问题对我来说没有意义。但我可以回答你的问题。

对于selenium 2(webdriver):

WebDriver driver = ...

JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
jsExecutor.executeScript("document.getElementById('iskpiFilterAction').type = 'button';");

结果是:

button

此代码导致更改元素类型(从隐藏到按钮),但它对我们所有人都没有意义。这两个元素具有不同的目的/用途。有关更多信息,请参阅:

答案 1 :(得分:0)

我没有安静地理解这个问题..但是..如果你有一个隐藏的对象,你想使用一些触发器动态取消隐藏,这是你可以这样做的方式:

<head>
<script>
function unhide()
{
    document.getElementById("iskpiFilterAction").type = "button";
} 
</script>
</head>
<body onload="unhide()">
<input id="iskpiFilterAction" type="hidden" value="1" name="isKpiFilterAction">
</body>

我正在使用body onload事件取消隐藏对象,所以当这个页面加载时你会看到你可以点击的按钮。但是,如果您希望某些其他事件触发它,您可以相应地使用该功能。

希望它有所帮助。

答案 2 :(得分:0)

试试这个:

WebElement element = driver.findElement(By.id("iskpiFilterAction"));  
((JavascriptExecutor) driver).executeScript("arguments[0].style.type = 'button';", element);