2016-05-19 2 views
0

Я новичок в Selenium.Selenium webdriver исключение тайм-аута исключения

Моя проблема в том, что я пытаюсь щелкнуть элемент, но Selenium бросает timeout exception, даже если я увеличиваю значение таймаута.

Нужно ли использовать xpath вместо id?

HTML-код является:

enter image description here Мой код выглядит следующим образом

void searchquotation() throws TimeoutException { 
    try { 
      WebDriverWait wait = new WebDriverWait(driver, 15); 
      WebElement element = wait.until(ExpectedConditions.presenceOfElementLocated(By.name("SearchButton"))); 
      element.click(); 
     } 
    catch(TimeoutException e) { 
     System.out.println("Timeout occured"); 
     } 

ли я делаю что-то неправильно?

+0

Пожалуйста, убедитесь, первым в браузере консоли с помощью этого яваскрипта document.getElementsByName („SearchButton“) вы получаете эту кнопку или нет? –

ответ

0

Тип ввода здесь представляет (просматривая ваш HTML-код), поэтому я настоятельно рекомендую попробовать функцию submit() Selenium.

-1
try below code, even timeout exception occurs, it will try 4 time to click on it. assuming locator is correct By.name("SearchButton") 

    public void searchquotation() 
    int count=0; 
    while(count<4) 
    { 
    try { 
    WebElement x = driver.findElement(By.name("SearchButton"))); 
    WebDriverWait element=new WebDriverWait(driver,15); 
    element.until (ExpectedConditions.presenceOfElementLocated(By.name("SearchButton"))); 
    x.click(); 
count=count+4; 
    } 
    catch(TimeoutException e) { 
    count=count+1; 
    System.out.println("Timeout occured"); 
    continue; 
    } 
    } 
+0

получил. Элемент заключен в таблицу. Есть ли другой способ доступа к элементу, заключенному в td. Ниже приведен код HTML http://i.stack.imgur.com/WxJYp.jpg –

+0

Любые ответы экспертов –

0

Вместо имени by.name вы должны использовать by.id вместо этого. Поэтому, используйте один из них:

  1. by.Id ("SearchButton")
  2. by.CssSelector ("вход # SearchButton")
  3. by.Xpath ("// ввод [@ ид =» SearchButton '] ")

Примечание: синтаксис может быть неправильным, пожалуйста, настроить в зависимости от языка программирования