Selenium не обнаружит новое окно после нажатия на ссылку - PullRequest
0 голосов
/ 19 сентября 2011

В моем сценарии селена я щелкаю ссылку (которая находится внутри фрейма или что-то сгенерировано так, что поиск по источнику не возвращает его), который отправляет меня на сайт, который перенаправляет или является ярлыком для загрузкииз PDF.При нажатии на эту ссылку PDF-файл появляется в новом окне.К сожалению, SeleniumRC не может обнаружить новое окно, даже если я использую «wait_for_pop_up» (я использую python btw, если это имеет значение).

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

Как я могу заставить SeleniumRC обнаруживать это окно?

Редактировать: позвольте мне прояснить проблему: когда я говорю, идите, получите идентификаторы окна (window_handles inpython), окно, которое я хочу, даже не появляется, как будто SeleniumRC не знает, что оно существует.WebDriver может найти его и присвоить ему идентификатор, так что я не знаю, что с этим.

Еще одна деталь: в новом окне с PDF есть другое (зеркальное) доменное имя, может ли это бытьвопрос?

Ответы [ 2 ]

1 голос
/ 19 сентября 2011

есть хороший учебник о том, как использовать несколько окон в селене здесь .Возможно, вместо waitForPopup вы можете ввести ручное ожидание в течение установленного времени (скажем, 2 секунды), а затем использовать selectWindow для выбора нового окна.

0 голосов
/ 27 октября 2012

Вы можете получить контроль над новым окном, просто открыв это окно снова, используя селен.Т.е. получить URL нового окна вручную после нажатия на открывающую его строку, а затем использовать selenium.open («URL вашего нового окна»);и приступайте к остальным операциям на этой странице.

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