2017-11-03 3 views
1

나는 Selenium과 Firefox를 사용하여 파이썬에서 근근이 살아가고있다.Selenium get_attribute ("id")

내가 사용하여 객체에 내 HREF 년대를 얻을 수 있어요 다음

다음과 같이 <a> 태그의 무리를 반환
HREF = node.find_elements_by_xpath(".//a") # Get the href's under the current node 

:

<a href="http://example.com" class="" title="The Link" data-ipshover="" data-ipshover-target="http://example.com/?preview=1" data-ipshover-timeout="1.5" id="ips_uid_1234_9"> 
    <span>The Link</span> 
</a> 

있습니다 여러 개의 링크가 반환을, 그러나 첫 번째 것에 집중한다면 :

print dir(HREF[0]) 
print "#########" 
print HREF[0].text 
print HREF[0].id 
print HREF[0].get_attribute("title") 
print HREF[0].get_attribute("href") 
print HREF[0].get_attribute("data-ipshover-timeout") 
print HREF[0].get_attribute("id") 
print "#########" 

출력 의이 : 마지막 속성 인쇄가 비어 있음을

['__class__', '__delattr__', '__dict__', '__doc__', '__eq__', 
'__format__', '__getattribute__', '__hash__', '__init__', '__module__', 
'__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', 
'__setattr__', '__sizeof__', '__str__', '__subclasshook__', 
'__weakref__', '_execute', '_id', '_parent', '_upload', '_w3c', 
'anonymous_children', 'clear', 'click', 
'find_anonymous_element_by_attribute', 'find_element', 
'find_element_by_class_name', 'find_element_by_css_selector', 
'find_element_by_id', 'find_element_by_link_text', 
'find_element_by_name', 'find_element_by_partial_link_text', 
'find_element_by_tag_name', 'find_element_by_xpath', 'find_elements', 
'find_elements_by_class_name', 'find_elements_by_css_selector', 
'find_elements_by_id', 'find_elements_by_link_text', 
'find_elements_by_name', 'find_elements_by_partial_link_text', 
'find_elements_by_tag_name', 'find_elements_by_xpath', 'get_attribute', 
'get_property', 'id', 'is_displayed', 'is_enabled', 'is_selected', 
'location', 'location_once_scrolled_into_view', 'parent', 'rect', 
'screenshot', 'screenshot_as_base64', 'screenshot_as_png', 'send_keys', 
'size', 'submit', 'tag_name', 'text', 'value_of_css_property'] 
#########  
The Link 
101b851e-67dd-4907-a2da-2dc1828cb09c 
The Link 
http://example.com 
1.5 

######### 

참고하면 ips_uid_1234_9을 반환해야한다. 다른 모든 특성은 정상적으로 반환되므로 왜 "id"가 올바르게 반환되지 않을지 잘 모르겠습니다.

+0

첫 번째 하이퍼 링크에 ID가 있습니까? –

+0

긍적 적. 링크 텍스트와 하이퍼 링크는 내가보고있는 HTML과 일치합니다. 또한 get_attribute를 사용하여 존재하지 않는 속성을 선택하면 "없음"이 반환되고 빈 유니 코드 문자열은 반환되지 않습니다. – user3246693

+0

중복 ID 및 다른 ID로 시도했습니다. 두 경우 모두 올바르게 작동했습니다. 긁고있는 웹 사이트는 무엇입니까? 웹 사이트에서 자바 스크립트를 사용하여 실행 중에 ID를 변경할 수 있습니다. –

답변

0

나는 너클 머리 다. 다음 번에는 소스 코드를 스크래핑하고 볼 때 동일한 브라우저를 사용해야합니다. 속성은 Firefox에서는로드되지 않지만 Chrome에서는로드됩니다.

관련 문제