2017-02-06 10 views
1

Я использую Selenium WebDriver для автоматического тестирования веб-сайта. Мне удалось щелкнуть через многочисленные меню и ссылки на точку.Как использовать Selenium WebDriver для кликов без привязки?

В одном месте на сайте я работаю с генерирует ссылки, которые выглядят следующим образом:

<U onclick="HourglassSubmitItem(document.all('PageName').value, '00000001Responsibility Code')">Responsibility Code</U> 

Я пытаюсь использовать функциональные возможности .click в WebDriver нажать на эту ссылку без успеха.

Используя это:

page.find_element_by_xpath("//u[contains(text(),'Responsibility Code')]") 

успешно находит тег U выше. но когда я добавляю .click() в конец этого xpath, клик не выполняется. Но это также не вызывает ошибки. Итак, мой вопрос: может ли Selenium использоваться для имитации кликов по тегу HTML, который не является тегом anchor()? Если да, то как?

Я также скажу, что у меня нет контроля над страницей, с которой я работаю, поэтому изменить ее невозможно.

Буду признателен за любое руководство, которое может предоставить Сообщество.

Спасибо вам за помощью,

Крис

+0

Это может быть стоит попробовать нажать на окружающие метки, или соседние метки, которые находятся в том же положении, как этот элемент, только в случае, если один из них является тот, который должен получить замковые – mrfreester

ответ

0

Иногда использование JavaScript может решить "щелчки" вопрос:

element = page.find_element_by_xpath("//u[contains(text(),'Responsibility Code')]") 
page.execute_script('arguments[0].click();', element) 
+0

Много большое спасибо вы двое. Вот так! – ChrisC

+0

Пожалуйста, отметьте этот ответ как «Принято», если он решит вашу проблему. благодаря – Andersson

0

Вы можете предпочесть JavaScript в этом случае.

WebElment element = page.find_element_by_xpath("//u[contains(text(),'Responsibility Code')]") 

JavaScriptExecutor executor = (JavaScriptExecutor)driver; 

executor.ExecuteScript("arguments[0].click();", element); 

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

  • Нет связанных вопросов^_^