python selenium получить текущий URL нового крана (window_handles [0]) - PullRequest
0 голосов
/ 11 июня 2018

Я хочу получить активную tap ссылку без переключения на window_handles[x]

Я пытаюсь добавить driver.current_url(driver.window_handles[0]), но она не работает

driver.get("https://google.fr");
time.sleep(5)

while True:
    time.sleep(2)
    l = len(driver.window_handles)
    for x in range(0, l):
        #driver.switch_to.window(driver.window_handles[1])
        print driver.current_url(driver.window_handles[0])

Пример:

Если я открою новый tap с новым url bing.com, driver.current_url покажет только google, а не новый tap url bing.com.И я не хочу переключаться на новый tap, чтобы получить url.

Ответы [ 2 ]

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

Когда вы открываете в браузере новую вкладку с некоторым URL, вам нужно зарегистрировать ее, чтобы селен мог получить к ней доступ.Вам нужно переключиться на эту вкладку, используя driver.window_handles, чтобы вкладка была зарегистрирована, тогда только вы сможете получить доступ к URL-адресу вкладки, используя driver.current_url.Я не, если есть какой-либо другой способ сделать это, используя только селен.

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

Вы можете использовать driver.window_handles, чтобы увидеть все URL, и вы можете использовать driver.current_window_handle, чтобы увидеть текущий URL.Итак, после открытия нового tap вы можете увидеть driver.current_window_handle, затем сравнить с driver.window_handles, тогда вы можете switch_to.window правильный URL

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