2016-02-02 1 views
1

Я пытаюсь загрузить страницу и ждать определенной ссылку, я могу нажать, но я получаю сообщение об ошибке:Ожидание ссылки для загрузки [Селен/питон]

 File "flychk.py", line 82, in <module> 
     EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, "Current")) 
     File "/Library/Python/2.7/site-packages/selenium-2.50.1-py2.7.egg/selenium/webdriver/support/wait.py", line 80, in until 
     raise TimeoutException(message, screen, stacktrace) 
    selenium.common.exceptions.TimeoutException: Message: 

Этих это ссылка Я пытаюсь получить доступ к:

<a href="/FLY/USERS/user23/1454440494/">Current results</a> 

И питона закодированной в моем сценарии:

currentResults = WebDriverWait(browser, 10).until(
    EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, "Current")) 
) 
currentResults.click() 
+0

Занимает ли он больше 10 секунд? – AlexCharizamhard

+0

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

+0

Свежие идеи outta –

ответ

0

Selenium предоставляет интерфейс как javascriptexecutor.

В Java мы делаем что-то, как показано ниже: -

 if (driver.findElements("YOUR Locator").size() != 0) { 
      WebElement element= driver.findElement("YOUR Locator")); 
      JavascriptExecutor executor = (JavascriptExecutor) driver; 
      executor.executeScript("arguments[0].click();", element); 
    } 
     else{ 
      System.out.println("Element not present"); 
     } 

Надеется, что это поможет :)

0
wait = WebDriverWait(browser, 10) 
) 

wait.until(
    EC.presence_of_element_located((By.PARTIAL_LINK_TEXT, "Current")) 

currentresults = driver.find_element_by_partial_link_text("Current") 

currentResults.click() 
+0

Исправлена ​​опечатка, перемещая второй заключительный палец во второй оператор. Все еще получаю ту же самую ошибку, хотя ** EC.presence_of_element_located ((By.PARTIAL_LINK_TEXT, «Текущий»)) Файл «/Library/Python/2.7/site-packages/selenium-2.50.1-py2.7.egg/selenium/webdriver /support/wait.py ", строка 80, до raise TimeoutException (сообщение, экран, stacktrace) selenium.common.exceptions.TimeoutException: Сообщение: ** –

+0

Это проблема с загрузкой страницы во время ожидания. Он ничего не узнает. Я попытался нажать на другие ссылки и вкладки, и он не будет распознавать. –

0

Понял отсортировано. Моделирование, которое выполнялось в результате предыдущего щелчка, открыло и закрыло новое окно, поэтому проблема с обработкой окон была проблемой. Спасибо, ребята.

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