2013-07-11 4 views
0
<td> 
    <a id="userid_popup" onclick="openLookupWinNew('/oasis/UserLookup.do', 400, 270, 'userid_input', 'assignToUserId', 'uiAssignToUserId', false)" name="userid_popup"> 
     <img class="icon" title="Users" alt="Users" src="/oasis/images/search_button1.gif" style="background-color: transparent;"> 
    </a> 
    <input id="hide" type="button" style="display: none"> 
</td> 

на нажатия IMG принять это открывает всплывающее окноWebDriver нажмите на IMG тег

Я попытался следующий код, @FindBy(css = "#userid_popup>img") private WebElement lookupButton;

  1. lookupButton.click() -> ElementNotVisibleException
  2. ((JavascriptExecutor) driver).executeScript("return arguments[0].click();", lookupButton) ->Несмотря на то, что он щелкнет, он сам там висит, после этого никаких операторов не выполняются.

Любая помощь по этому вопросу?

+1

Из-за исключения, которое вы отметили, это элемент, фактически видимый в то время, когда вы пытаетесь выполнить '.click();'? –

+0

Да видно – user2269197

+0

Полезно знать, просто проверяя. Хотя мне нужно спросить, есть ли какая-то конкретная причина, по которой вы пытаетесь нажать на тег 'img', а не на' anchor'? –

ответ

0

0) Убедитесь, что нет AJAX или другого асинхронного материала. Марк спросил об этом, но стоит дважды проверить. Просто добавьте явное ожидание элемента img и посмотрите, поможет ли это. (Нет, НЕ используйте Thread.Sleep() или что-то подобное. :))

1) Переместите цель клика на привязную метку. Если у вас есть что-то явно подключенное к элементу, тогда действие click не собирается ничего делать. Это элемент, который на самом деле порождает всплывающее окно. (Который вы можете видеть и в HTML-фрагменте выше, тоже!)

Удачи!

Смежные вопросы