Python 如何构造Xpath表达式以从子节点获取属性?

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')

想要制定一个Xpath表达式,该表达式可以从rect标记获取属性“Style”。 我写了下面的代码,但不起作用

另外,在获得样式属性后,我只需要rgb();文本。我该怎么做

谢谢

   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')