Python 如何构造Xpath表达式以从子节点获取属性?
想要制定一个Xpath表达式,该表达式可以从rect标记获取属性“Style”。 我写了下面的代码,但不起作用 另外,在获得样式属性后,我只需要rgb();文本。我该怎么做 谢谢Python 如何构造Xpath表达式以从子节点获取属性?,python,html,selenium,xpath,web-scraping,Python,Html,Selenium,Xpath,Web Scraping,想要制定一个Xpath表达式,该表达式可以从rect标记获取属性“Style”。 我写了下面的代码,但不起作用 另外,在获得样式属性后,我只需要rgb();文本。我该怎么做 谢谢 for element in driver.find_elements_by_css_selector("#workload-analysis-chart > div > svg > g"): style = element.get_attribute('style')
for element in driver.find_elements_by_css_selector("#workload-analysis-chart > div > svg > g"):
style = element.get_attribute('style')
print style
尝试使用lxml,因为它有很好的xpath特性
root = lxml.html.fromstring(pagesource)
#get rect with data-eid="10"
rect = root.xpath('//rect[@data-eid="10"]')
r = rect[0] #^returned list of rects
style = r.get("default-fill")
表达式不是xpath,而是css选择器 按以下方式更改表达式将打印样式属性:
for rect in root.cssselect('#workload-analysis-chart > div > svg > g > g > rect'):
style = rect.get('style')
print style
您可以使用
xpath
查找元素,然后使用以下方法获取style
属性:
什么是参考xml?
rect = driver.find_element_by_xpath('//div[@id="workload-analysis-chart"]/div/svg/g/g[@data-selected="true"]/rect')
print rect.get_attribute('style')