【发布时间】:2014-05-25 14:18:45
【问题描述】:
我有一个 XPATH 查询,我用它从某个 HTML 元素中获取高度,当我通过 XPath Helper-plugin 在 Chrome 中执行它时,它完美地返回了我想要的值。
//*/div[@class="BarChart"]/*[name()="svg"]/*[name()="svg"]/*[name()="g"]/*[name()="rect" and @class="bar bar1"]/@height
但是,当我通过机器人框架中的 Get Element Attribute-keyword 使用相同的查询时
Get Element Attribute//*/div[@class="BarChart"]/*[name()="svg"]/*[name()="svg"]/*[name()="g"]/*[name()="rect" and @class="bar bar1"]/@height
...然后我收到关于此 XPATH 的 InvalidSelectorException。
InvalidSelectorException: Message: u'invalid selector: Unable to locate an
element with the xpath expression `//*/div[@class="BarChart"]/*[name()="svg"]/*
[name()="svg"]/*[name()="g"]/*[name()="rect" and @class="bar bar1"]/`
因此,Robot Framework 或 Selenium 删除了 @-sign 及其后面的所有内容。我认为这是一个逃生问题,并在@height 之前添加和删除了一些斜线,但没有成功。我也尝试将这个查询的结果封装在 string()-command 中,但这也没有成功。
有人有办法防止我的 XPATH 查询被破坏吗?
【问题讨论】:
标签: xpath svg selenium-webdriver robotframework