2015-07-27 3 views
0

Я использую селен-питон 2.46.1 и элементы ввода с именами, как chunk_items-__prefix__-chunk_title не придумал следующий код:Селен-питон не может найти элементы с определенным именем атрибуты

входного элемент является:

<input id="id_chunk_items-__prefix__-chunk_title" maxlength="255" name="chunk_items-__prefix__-chunk_title" type="text" /> 

Я попытался:

ids = driver.find_elements_by_xpath('//input') 
     for ii in ids: 
      print ii.get_attribute('name') # id name as string 

или

elem = driver.find_element_by_name("chunk_items-__prefix__-chunk_title") 

хотя

'assert "chunk_items-__prefix__-chunk_title" in self.driver.page_source' прекрасно

Любые идеи?

ответ

0

На веб-странице (даже на простой) может быть много входных тегов, и вы не хотите перебирать их все, чтобы найти один атрибут. Поскольку тег html содержит атрибут id (и я предполагаю, что он уникален), вы можете легко найти элемент и проверить наличие какого-либо атрибута.

element = driver.find_element_by_id('id_chunk_items-__prefix__-chunk_title') 
name = element.get_attribute('name') 
assert "chunk_items-__prefix__-chunk_title" in name 
0

Да, я понимаю, что сквозной процесс не является нормальным я должен был лучше объяснить, что это было просто посмотреть, появились ли они.

Я выяснил, что некоторые Javascript вызывают проблемы, поэтому это не было проблемой для Selenium.

Спасибо в любом случае.