Нажав на ссылки, которые не на экране с Selenium - PullRequest
0 голосов
/ 04 июня 2018

Я пытаюсь нажимать на ссылки на веб-сайте, там есть полная страница.Я попытался использовать опцию is_displayed (), я вернулся "истина", но все равно дал мне эту ошибку.Я сталкивался с этой ошибкой ранее в других проектах, потому что селен не видит ссылку.Я попытался включить в коде параметр прокрутки вниз, но это работает только столько раз, сколько страница заканчивается прокруткой слишком далеко.

Какие еще варианты нужны для отображения видимой ссылки?

Код:

href1 = driver.find_element_by_xpath("//*[@id='divDesktopResults']//div//div//div//a[@href='" + link + "']")

if (href1.is_displayed()):
    print('true')
    href1.click()
else:
    print('False')

Ошибка:

selenium.common.exceptions.WebDriverException: Message: unknown error: Element <a class="popimg" data-toggle="popover" style="text-decoration:underline;margin-right:20px;" data-content="<img style='max-width:250px;' src='/Home/GetPng?ID=D218098469' ></a>" data-html="true" data-trigger="hover" href="#pdfviewer?ID=D218098469">...</a> is not clickable at point (441, 514). Other element would receive the click: <div class="row">...</div>
 (Session info: chrome=66.0.3359.181)
 (Driver info: chromedriver=2.38.552522   (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.16299 x86_64)

Редактировать:

Решил по-другому, поместил все ссылки в массив и использовал driver.get вместо того, чтобы щелкать ссылку.

1 Ответ

0 голосов
/ 04 июня 2018

Selenium жалуется не на то, что ссылка не видна, а на то, что что-то еще находится сверху ссылки.Если щелкнуть по экрану, где находится ссылка, вместо этого щелкните «строку» div.Это будет означать ошибку CSS, когда у вас есть несколько элементов, один поверх другого.Вы могли бы потенциально подтвердить это, присвоив ссылке действительно высокое значение Z, чтобы она располагалась поверх всего остального и снова запустила ваш тест.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...