문제

I have been writing my scripts for FF but was hoping with little work they would also run on the other browsers but it seems IE driver has button issues?

I have a simple webelement.click() on a button that does not throw an error but does not click the button. in FF its fine. I can get text, get value so I know the find statement is ok it just will not click it.

thoughts or help would be great

Just doing

WebElement element;
element = driver.findElement(By.id("pageheader_login"));
element.click();

HTML - The control has 3 buttons on it I am only interested for now with the login

<div id="_ctl0_pageheader_navcontainer">
  <div id="phwelcome">

    <br class="clear" />
  </div>
  <span id="navtext">

    <a id="_ctl0_pageheader_lnkRegister" class="logichref" 
       href="http://Register/1">Register Today</a>
    <label id="_ctl0_pageheader_lblRegisterBar" class="barhide">| </label>

    <a id="_ctl0_pageheader_customerconnection" class="logichref" 
       href="http://test.com" target="_blank">Help & Training</a>
    <label class="bar">| </label>
    <a class="logichref" href="http://test.aspx"
       onmouseover="window.status='';return(true);" 
       onmouseout="window.status='';return(false);"
       target="_blank">What's New</a> 
    <label class="bar">| </label>
    <a id="_ctl0_pageheader_login" class="lbOn loginModal" 
       href="http://test/loginlightbox.aspx">Login</a>
  </span>
</div>     
도움이 되었습니까?

해결책

Got the same problem, click does not work with my IE 8. I found a workaround where I do a element.sendKeys("\n") to perform the click (basically I just press enter on the button). Not very clean but it works until the bug is fixed!

다른 팁

I almost gave up on WebDriver as I couldn't get the click method on webelement to function. But for some reason I changed my IE zoom from 125% to 100% and the click worked. Not sure if this is a known bug with WebDriver but it almost made me scrap it all together until I found a solution.

I have faced the same issue with IE 8 where the WebDriver was unable to click on any a href="" tag on the HTML page under test

The solution shessuky provided worked for me; That is setting BOTH ignoreZoomSetting and nativeEvents capabilities as follows

  • caps.setCapability("ignoreZoomSetting", true);
  • caps.setCapability("nativeEvents",false);

I think you may have to instantiate InternetExplorerDriver() using the parameter org.openqa.selenium.Capabilities as follows :

    DesiredCapabilities caps = DesiredCapabilities.internetExplorer();
    caps.setCapability("ignoreZoomSetting", true);

    // Setting attribute nativeEvents to false enable click button in IE
    caps.setCapability("nativeEvents",false);
    WebDriver driver = new  InternetExplorerDriver(caps);

Hope this may help you;

According to your HTML, the id is _ctl0_pageheader_login. It can be generated dynamically and may change.

You can try locating By.linkText("Login") or By.className("loginModal")

It might be something to do with the load speed, try adding an ImplicitlyWait

Selenium 2.0b3 IE WebDriver, Click not firing

If you're running an automated Selenium test in IE11 with the browser window open on a touch screen monitor (e.g. Windows 8 touch laptop), try running the test with the browser window open in a non-touch screen.
The original .click() method should work fine without all the code workarounds.

See my full background answer https://stackoverflow.com/a/31397650/115704 on a similar StackOverflow question at Selenium 2.0b3 IE WebDriver, Click not firing.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top