2016-04-20 3 views
0

У меня есть URL http://travel.aol.co.uk/2016/03/23/best-hotels-for-families-mediterranean/, который имеет некоторые социальные ссылки, такие как Twitter, Facebook и т. Д. Когда я нажимаю на них, они ведут в новое окно. Однако я не могу выполнять операции над этим окном, так как я не могу переключиться на это окно. Любая помощь приветствуется. Я пробовал методы switchTo, но они не работают. Любая помощь приветствуется.Невозможно переключиться на окно/всплывающее окно в Firefox с помощью selenium Webdriver в Python

Ниже приводится код

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 

driver = webdriver.Firefox() 
driver.get('http://travel.aol.co.uk/2016/03/23/best-hotels-for-families-  mediterranean/') 
window_before = driver.window_handles[0] 
linkElement = driver.find_element_by_class_name('share-icon-twitter') 
linkElement.click() 
window_after = driver.window_handles[1] 
driver.switch_to_window(window_after) 
print (driver.title) 

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

спасибо.

ответ

0

Если ваше требование смещается между окнами, вы можете достичь его switch_to_window метод. А также window_handles, который поможет получить окна.

from selenium import webdriver 
    from selenium.webdriver.common.keys import Keys 

    driver = webdriver.Firefox() 
    driver.get(url) 
    first_window = driver.window_handles[0] 
    linkitem = driver.find_element_by_id("id") 
    linkitem.click() 
    second_window = driver.window_handles[1] 
    driver.switch_to_window(second_window) 

, если вы хотите, чтобы вернуться к первому окну можно использовать

 driver.switch_to_window(first_window) 

Надежда, что помогает. Спасибо

+0

Привет, Сан, попробовал ваше предложение, но в конце последней строки, когда я пытался распечатать заголовок страницы, он ничего не печатал. Ниже приведен код. –

+0

от импорта селена WebDriver из selenium.webdriver.common.keys импорта ключей драйвер = webdriver.Firefox() driver.get ('http://travel.aol.co.uk/2016/03/23/best -гостиницы-для-семей-средиземноморской/') window_before = driver.window_handles [0] LinkElement = driver.find_element_by_class_name (' доля-значок-твиттер ') linkElement.click() window_after = driver.window_handles [1] driver.switch_to_window (window_after) –

+0

hii @VishwanathRKulkarni Как вы пытались распечатать заголовок страницы? Я попытался использовать следующий код, и он отлично работает для меня title = driver.find_element_by_xpath (r '\ html \ head \ title'). Он не напечатал фактический текст, но смог найти название и печатает идентификатор элемента. – San

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