Selenium-python找不到具有某些名称属性的元素

时间:2015-07-27 16:45:15

标签: python selenium

我正在使用selenium-python 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'很好

有什么想法吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

是的,我意识到循环不是正常的方式,我应该更好地解释这只是为了看看它们是否出现了。

我现在发现有些Javascript会导致问题,所以毕竟Selenium不是问题。

非常感谢。