2016-12-09 1 views
1

Я хотел бы найти все iframes на определенной странице, поэтому я могу использовать Selenium Webdriver для навигации по ифрагментам и из них.Печать списка элементов веб-сайта Selenium возвращает информацию с порядковым номером; как я могу это понять?

Я использовал запрос как

print(browser.find_elements_by_tag_name('iframe')) 

и командную строку, возвращаемый:

C:\Python27\...path>file_name.py[<selenium.webdriver.firefox.webelement.FirefoxWebElement (session="04088140-f-4b7d-849b-68bed36bc5c2", element="b78df9a9-b80f-4493-ac9f-b116d95ef5a6")>] 

Мой вопрос: что же форма element="b78df9a9-b80f-4493-ac9f-b116d95ef5a6" относится? Я понимаю, что это элемент webdriver, но как можно интерпретировать сам номер? Кроме того, если я распечатаю список фреймов, скажем, id, как я могу это сделать?

Заранее спасибо.

ответ

2

Если вы хотите получить id каждого iframe элемента вместо его UUID, вы можете сделать что-то вроде:

frames = [frame.get_attribute('id') for frame in browser.find_elements_by_tag_name('iframe')] 

Обратите внимание, что не каждый iframe может иметь id атрибут (iframe без id будет представлять с None значение в frames)

+0

Спасибо. Это был элемент 'get_attribute', который я искал, в дополнение к термину' UUID'. Я никогда не слышал об этом лейбле. – daOnlyBG

0

Почему вы не используете идентификатор, назначенный элементу (который вы дали имя при его создании), используйте другие методы, такие как element_by_id или elements_by_class и т. Д., Чтобы получить что-то конкретное.