我必须在我正在编写的python脚本中的字段中提取输入的名称(使用selenium)。这是html。
<div id="CF00NC000000576hm_ileinner"><a onmouseover="LookupHoverDetail.getHover('lookup005C0000003xG8C00NC000000576hm', '/005C0000003xG8C/m?retURL=%2F00QC000001DMZB8&isAjaxRequest=1&nocache=1370473054922').show();" onmouseout="LookupHoverDetail.getHover('lookup005C0000003xG8C00NC000000576hm').hide();" onfocus="LookupHoverDetail.getHover('lookup005C0000003xG8C00NC000000576hm', '/005C0000003xG8C/m?retURL=%2F00QC000001DMZB8&isAjaxRequest=1&nocache=1370473054922').show();" onblur="LookupHoverDetail.getHover('lookup005C0000003xG8C00NC000000576hm').hide();" id="lookup005C0000003xG8C00NC000000576hm" href="/005C0000003xG8C">James Brown</a></div>
xpath是//*[@id="CF00NC000000576hm_ileinner"]
。
我最好的猜测是如何解决这个问题:
elem1 = driver.find_element_by_xpath('//*[@id="CF00NC000000576hm_ileinner"]')
elem2 = elem1.get_attribute("innerHTML")
elem3 = elem2.get_attribute("innerHTML")
print elem3
我希望脚本在这种情况下输出“James Brown”。
我收到以下错误:
AttributeError: 'unicode' object has no attribute 'get_attribute'
答案 0 :(得分:1)
你有没有尝试过(如果你只需要文字“James Brown”)
print elem1.text
您收到错误,因为elem2
或elem3
是字符串 - 而不是selenium对象 - 并且没有get_attribute()
函数。尝试:
elem1 = driver.find_element_by_xpath('//*[@id="CF00NC000000576hm_ileinner"]')
print elem1
elem2 = elem1.get_attribute("innerHTML")
print elem2
elem3 = elem2.get_attribute("innerHTML")
print elem3