硒 getText 行为
我有一个 html 文件,必须使用 selenium 进行解析。
我需要提取 div
标记中包含的文本,该标记具有唯一的 id
。
原文件如下:
<div id="debugState" style="display:none">
Model: ModelCode[UK51]
Features: [S08TL, S0230, S0851, S0428, S01CD, S0879, S01CA, S08SP, S0698, S01CB, S0548, S08SC, S08TM, S04AK, S01CC, S0801]
Packages: [S0801]
</div>
执行的命令如下: selenium.getText("//div[@id='debugState']");
结果是空字符串(而不是包含的文本)。我是否做错了什么,或者这是由于 style="display:none"
开关导致的预期结果。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您是否尝试过删除
style="display:none"
属性以查看它对您的测试有何影响?根据 JavaDoc 这个方法应该可以满足您的需要。Have you tried removing the
style="display:none"
attribute to see what effect it has on your test? According to the JavaDoc this method should do what you need.我在尝试使用 getText() 方法获取 Web 元素内的文本时遇到了很大的困难。
例如,如果您尝试在更新元素后检索文本,方法是:
当您使用 WebElement.getText() API 打印文本内容时,您最终将获得更新字段之前包含的旧值。
我建议通过执行 JScript 来访问 DOM 信息(在我的例子中,我已经在使用 Selenium 测试的页面中包含了 jQuery)。即使该元素是隐藏的,就像您的情况一样,您也会得到您需要的东西。
ps 我正在使用 jQuery text() 假设我的 idvalue 是 DIV 元素
I'm having really hard times trying to get text inside web elements by using the getText() method.
For example if you are trying to retrieve a text in an element after updating it by using:
when you print the text's content by using the WebElement.getText() API, you'll end up getting the old value contained before updating the field.
What I suggest is accessing the DOM info by executing JScript (in my case I had already included jQuery in the page I was testing with Selenium). Even if the element is hidden, like in your case, you'll get what you need.
p.s. I'm using jQuery text() assuming my idvalue is a DIV element