2013-11-18 3 views
0

Я использую веб-драйвер selenium с java.Как нажимать на кнопку с помощью java selenium web driver

И развитие автоматизации для моего приложения в Facebook, так что всякий раз, когда я добавить мое приложение в первый раз в Facebook, он просит разрешения с хорошо кнопкой

я пытаюсь нажать на ладно кнопку с моим кодом, но что не работает.

Есть ли лучший способ щелкнуть по кнопке okay с помощью веб-драйвера селена с помощью java?

То, что я попытался это:

1)driver.findElemenr(element).click(); 

2)Actions action = new Actions(driver); 
    action.click(element) 

3)Actions action = new Actions(driver); 
    action.moveToElement(element).click() 

4)Actions action = new Actions(driver); 
    action.KeyDown(element, Keys.ENTER); 

Пожалуйста, дайте мне знать причину, прежде чем, если вы хотите downvote мой вопрос

+0

'Нажмите кнопку с силой, что это значит? И что означает «не работает»? – Prateek

+0

Нажмите кнопку с усилием в том смысле, что если кнопка не нажата в первый раз, есть ли код, чтобы щелкнуть ее снова, пока она не исчезнет (значит, с петлями или чем-либо) ... не работает, даже если я нажму кнопку кнопка с вышеупомянутыми четырьмя способами, кнопка не нажимается иногда, но иногда работает – user2753523

ответ

0

Я думаю, что вы ищете isEnabled() метода в Selenium. Что вы можете сделать, после нажатия кнопки с помощью webdriver вы можете проверить статус кнопки и повторить процесс клика, если кнопка все еще включена.

+0

Спасибо, я попробую это – user2753523

0

Вы просто попробуете с логикой что-то вроде ниже.

int i=0; 
while(isElementPresent(button) && i<10) 
{ 
     Thread.sleep(1000); 
       driver.findElement(button).click(); 
       i++; 
} 

Приведенный выше код будет пытаться не нажимать на кнопку, пока она присутствует или я (интермедиат я) достиг 10. (петля переломный)

Вы можете найти isElementPresent реализацию метода here.

0

вы можете попробовать это,

WebDriverWait button = new WebDriverWait(driver,60);  
button.until(ExpectedConditions.elementToBeClickable(element)); 
button.click(); 

Это будет ждать 60 секунд для кнопки, чтобы быть интерактивными, если условие (элемент кликабельна) выполняется до того 60 секунд, и хорошо, кнопка будет нажата, в противном случае будет исключено исключение ...

ExpectedConditions class provides many useful methods.

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