2012-10-28 19 views
14

Oto kodSelenium webdriver używający switch_to_windows() i drukowania tytułu nie drukuje tytułu.

for handle in browser.window_handles: 
    print "Handle = ",handle 
    browser.switch_to_window(handle); 
    elem = browser.find_element_by_tag_name("title") 
    print elem.get_attribute("value") 

otrzymuję następujący wynik

Handle = {564f8459-dd20-45b8-84bf-97c69f369738} 
None 
Handle = {85338322-5e58-4445-8fe3-3e822d5a0caf} 
None 

Po uzyskaniu uchwyt przełączyć do okna i wydrukować tytuł. Dlaczego nie widzę żadnego tytułu. Czy nie będzie żadnych tytułów? Kiedy widzę źródło html strony widzę jednak tag tytułu.

Odpowiedz

9

Tytuł strony nie byłby w atrybucie value elementu title, byłby to zawartość tekstowa tego elementu.

Prawidłowy sposób dostępu że tekst byłby browser.find_element_by_tag_name("title").text

Albo jeszcze łatwiej, wystarczy dostęp browser.title.

+0

Czy możesz mi powiedzieć, jak zdobyć zawartość? Zasadniczo chcę sprawdzić, czy jest to 404 Nie znaleziono błędu, czy nie. – Anand

+0

Wspaniale, teraz mogę zdobyć tytuł. Wielkie dzięki. – Anand

+1

Pamiętaj, aby awansować i zaakceptować :) – Acorn

38
driver.switch_to_window(driver.window_handles[-1]) 
title=driver.title 

Możesz to zrobić po prostu użyj powyższego kodu. driver.window_handles [-1] otrzyma ostatnie okno.

+0

Jesteś geniuszem Moxi !! –

+0

to jest dobre do obsługi okien –