Селена вебдрайвер IE проблема с кнопкой - PullRequest
3 голосов
/ 19 января 2011

Я писал свои сценарии для FF, но надеялся, что, потратив немного времени, они будут работать и в других браузерах, но, похоже, у драйвера IE есть проблемы с кнопками?

У меня есть простой webelement.click () на кнопке, который не выдает ошибку, но не нажимает кнопку. в ФФ это нормально. Я могу получить текст, получить значение, чтобы я знал, что с оператором find все в порядке, он просто не щелкнет по нему.

мысли или помощь будут великолепны

Просто делаю

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

HTML - Элемент управления имеет 3 кнопки. Сейчас меня интересует только логин

<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>     

Ответы [ 7 ]

5 голосов
/ 29 сентября 2011

Я почти разочаровался в WebDriver, так как не мог заставить работать метод click на webelement. Но по какой-то причине я изменил масштаб IE с 125% до 100%, и щелчок сработал. Не уверен, является ли это известной ошибкой в ​​WebDriver, но это почти заставило меня отказаться от всего этого, пока я не нашел решение.

5 голосов
/ 12 апреля 2011

Возникла та же проблема, щелчок не работает с моим IE 8. Я нашел обходной путь, где я делаю element.sendKeys ("\ n") для выполнения щелчка (в основном я просто нажимаю кнопку ввода на кнопке).Не очень чисто, но работает, пока ошибка не будет исправлена!

4 голосов
/ 12 июля 2014

Я столкнулся с той же проблемой в IE 8, когда WebDriver не смог щелкнуть по любому тегу href = "" на тестируемой HTML-странице

Решение, предоставленное shessuky, сработало для меня;Это означает, что ОБА ignoreZoomSetting и nativeEvents имеют следующие возможности:

  • caps.setCapability ("ignoreZoomSetting", true);
  • caps.setCapability ("nativeEvents",ложь);
1 голос
/ 29 января 2014

Я думаю, что вам может потребоваться создать экземпляр InternetExplorerDriver () с помощью параметра org.openqa.selenium.Capabilities следующим образом:

    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);

Надеюсь, это поможет вам;

0 голосов
/ 14 июля 2015

Если вы запускаете автоматический тест Selenium в IE11 с открытым окном браузера на мониторе с сенсорным экраном (например, с сенсорным ноутбуком Windows 8), попробуйте запустить тест с открытым окном браузера на сенсорном экране.
Оригинальный метод .click () должен нормально работать без всех обходных путей кода.

См. Мой полный фоновый ответ https://stackoverflow.com/a/31397650/115704 на аналогичный вопрос StackOverflow на Selenium 2.0b3 IE WebDriver, нажмитене стреляет .

0 голосов
/ 07 апреля 2011

Это может быть связано со скоростью загрузки, попробуйте добавить ImplicitlyWait

Selenium 2.0b3 IE WebDriver, щелчок не срабатывает

0 голосов
/ 19 января 2011

Согласно вашему HTML, id равно _ctl0_pageheader_login. Может генерироваться динамически и может изменяться.

Вы можете попробовать найти By.linkText("Login") или By.className("loginModal")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...