我有一个像这样的html片段:
<input type="text" node-type="searchInput" autocomplete="off" value="" class="W_input" name="14235541231062">
html中这个元素的唯一唯一标识是属性node-type="searchInput"
,所以我想通过使用Python的selenium的某些方法来找到它:
search_elem = driver.find_element_by_xxx("node-type","searchInput") # maybe?
我检查了selenium(python)document for locating elems,但没有得到如何通过node-type
attr找到这个元素的线索。有没有明确的方法在python selenium中找到这个元素?
答案 0 :(得分:20)
您可以通过xpath 获取并检查node-type
属性值:
driver.find_element_by_xpath('//input[@node-type="searchInput"]')
答案 1 :(得分:2)
即使这个问题很老,但我相信它仍然非常相关。 您也许可以使用简单的CSS选择器,并且语法是类似于jQuery或本机浏览器支持的标准javascript。
driver.find_element_by_css_selector('span.className[attrName="attrValue"]')
示例:
driver.find_element_by_css_selector('span.blueColor[shape="circle"]')
答案 2 :(得分:0)
这是您可以使用的方法:
save_items = []
for item in driver.find_elements_by_tag_name("input"):
# Get class
item_class = item.get_attribute("class")
# Get name:
item_name = item.get_attribute("name")
# And so on...
# Check for a match
if item_class == "W_input" and item_name == "14235541231062":
# Do your operation (or add to a list)
save_items.append(item)