无法使用 xpath 获取 Selenium RC 的属性值
我试图使用 Selenium RC (在 Python 中)获取页面中的第一个 href 属性:
sel.get_text("xpath=//@href")
这会返回一个空字符串。
但是,Firefox 内同一页面上的相同 xpath(使用“View XPath”扩展)会产生正确的值。
我尝试过摆弄它,但其他属性(例如@class)也会发生同样的情况——硒有什么严重的错误吗?还是我在这里忽略了一些微不足道的东西?
I'm trying to get the first href attribute in a page using Selenium RC (in Python):
sel.get_text("xpath=//@href")
this returns an empty string.
However, an identical xpath on the same page inside Firefox (using the "View XPath" extension) yields the correct value.
I've tried fiddling with it, but the same happens for other attributes (eg @class) -- is there something awfully wrong with selenium or am I overlooking something trivial here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
通过使用 selenium 的 get_attribute 来解决,例如节点的
sel.get_attribute("xpath=//a@href")
。Solved by using selenium's get_attribute e.g.
sel.get_attribute("xpath=//a@href")
for a nodes.在 Selenium RC 中,您可以使用 get_attribute 函数,如下所示。
其中
//li[@id='result_0']/div/div[3]/div/a
是 xpath。函数内不需要
xpath=
。In Selenium RC, you can use the get_attribute function as below.
where
//li[@id='result_0']/div/div[3]/div/a
is the xpath.xpath=
is not required inside the function.我认为这适用于所有类型的元素:
例如:对于元素的输入类型
I think this applies to all types of elements:
For example: for an input type of element