2015-09-11 106 views
3

我需要使用硒提取span标签属性的值。 这是html代码:用Selenium选择元素属性的值

<small class="time"> 
    <a title="2015" class="class2 class3 class4 class5" href="url"> 
    <span data-long-form="true" data-time-ms="1438835437000" data-time="1438835437" data-aria-label-part="last" class="class6 class7">Aug 5</span> 
    </a> 
</small> 

我需要提取范围标记的“日期 - 时间”属性的值,这里是Python代码我想使用:

try: 
    timestamp = element.find_element_by_xpath(".//small[contains(@class, 'time')]/a[1]/span[1]") 
    print "timestamp", timestamp.value_of_css_property("data-time") 
except exp.NoSuchElementException: 
     print "Timestamp location not proper" 

我也试过:

timestamp = element.find_element_by_css_selector(".class2.class3.class4.class5").value_of_css_property("date-time") 

但都返回空的结果。

任何想法这个问题的原因是什么?

+1

当您将来发布HTML时,请花一分钟在http://jsbeautifier.org/等工具中正确格式化它,这使得它更易于阅读。 – JeffC

回答

1

使用get_attribute()

element = driver.find_element_by_css_selector("small.time span[data-time]") 
element.get_attribute("data-time") 

注意,在你的第二次尝试,你已经使用date-time代替data-time

+0

这很好,我完全得到了我需要的结果,谢谢 –

相关问题