有没有办法在python / selenium中获取另一个元素的元素?

时间:2013-06-06 00:41:39

标签: python selenium

我必须在我正在编写的python脚本中的字段中提取输入的名称(使用selenium)。这是html。

<div id="CF00NC000000576hm_ileinner"><a onmouseover="LookupHoverDetail.getHover('lookup005C0000003xG8C00NC000000576hm', '/005C0000003xG8C/m?retURL=%2F00QC000001DMZB8&amp;isAjaxRequest=1&amp;nocache=1370473054922').show();" onmouseout="LookupHoverDetail.getHover('lookup005C0000003xG8C00NC000000576hm').hide();" onfocus="LookupHoverDetail.getHover('lookup005C0000003xG8C00NC000000576hm', '/005C0000003xG8C/m?retURL=%2F00QC000001DMZB8&amp;isAjaxRequest=1&amp;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'

1 个答案:

答案 0 :(得分:1)

你有没有尝试过(如果你只需要文字“James Brown”)

 print elem1.text

您收到错误,因为elem2elem3是字符串 - 而不是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