HTML代码
<div class="_4w5j">
<strong>
<span>username</span>
</strong>
<span class="_-kj">—</span>
<span class="_4w5k">
<i class="img sp_4YfKd3lpYjo sx_5f57b1">
<u>5 star</u>
</i>
</span>
<span>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</span>
</div>
x = i.find_elements_by_xpath('// div [@class =“_ 4w5j”] / strong')
for d in x:
print d.text
打印出正确的结果
我需要'x'inside the span [3]'xxxxxxxxxxxxxxx'的文字 以下代码也很有用。
问题:
我需要u标签'5 star'中的文字。我使用下面的代码,但它打印出空结果。
y= i.find_elements_by_xpath('//div[@class="_4w5j"]/descendant::u')
for d in y:
print d.text
我也尝试了这个
y= i.find_elements_by_xpath('//div[@class="_4w5j"]/span[2]/i/u')
for d in y:
print d.text
不适合我。请帮我 。提前致谢
<a class="uiLinkSubtle" href="/sherryl.cheary/activity/10152833559161998">
<abbr class="timestamp" data-utime="1419713801" title="Saturday, December 27, 2014 at 12:56pm">about a month ago</abbr>
</a>
我需要标题内的文字,但下面的代码是
z= i.find_elements_by_xpath('//a/descendant::abbr/@title')
for dd in z:
print dd.text
它显示了一个名为“web元素没有attr标题或xpath中有些错误”的错误
答案 0 :(得分:0)
i.find_elements_by_xpath('//div[@class="_4w5j"]/span//u')[0].text
i.find_elements_by_xpath('//a/abbr')[0].get_attribute('title')
答案 1 :(得分:0)
为什么坚持使用xpath?
考虑一下
find_element_by_tag_name('u').text
find_element_by_tag_name('abbr').get_attribute('title')
如果您有多个elements
和u
代码,则必须对其进行调整以搜索abbr
。
无论如何,这对你来说将更具可读性。
在5月意见中,您不应过度使用xpath
内容,特别是如果您可以通过tag_name
或class
或css_selector
{}查找更简单的方法获得所需内容p>