Loukoum Mira
Loukoum Mira

Reputation: 317

Execute a java script to make an element visible

I'm trying to automate the use of a website using Selenium, at one time I want to click on a hidden button defined this way :

<body>
    <div class="smenu" id="smenu4">
        <input tabIndex="-1" type="button" onclick="SearchEng" value="FindEng" />
        <!--> Lots of inputs <!-->
    </div>
</body>

I already tried to simply click the button, but it doesn't work. I can select it and retrieve information though. That's why I'm now trying to run a javascript to make the button visible before clicking it. Here is my code :

IWebElement element = driver.FindElement(By.XPath("//div[@id='smenu4']/input[@value=FindEng"));
String js = "arguments[0].style.height='auto'; arguments[0].style.visibility='visible';";
((IJavaScriptExecutor)driver).ExecuteScript(js, element);

The thing is nothing happens when I launch it. Is it possible that I can't run scripts ? Can you run them on any website ? - I use internet explorer 11, windows 7. Thanks !

Upvotes: 1

Views: 682

Answers (1)

peetya
peetya

Reputation: 3628

Inspect the element in your Browser and check that what is the reason that the element is invisible. Or just simply compare the element when it is visible or not. Possible reasons:

When you know the reason, you will know the solution :)

Upvotes: 2

Related Questions