【发布时间】:2018-09-07 09:25:59
【问题描述】:
我在 Java 上使用 selenium 来测试 HTML 页面。这是一个 HTML 示例:
<a>
Return to homepage
<script>
<form>...</form>
</script>
</a>
我需要获取 <a> 元素的文本以检查它是否正确。
当我为这个<a> 元素调用element.getText() 时,Chrome、Firefox、IE 和 Edge 会返回正确的文本 (Return to homepage),但 Safari 也会返回位于 <script> 标记内的文本(即不是文本,而是 HTML 代码)
当我为我的<a> 元素调用element.getText() 时,有没有办法可以排除<script> 的内容?
这只发生在 Safari(最新的浏览器和驱动程序版本)中
【问题讨论】:
-
<script>标记中不应包含 HTML 元素。那就是疯狂。将<form>移出<script>标记。 -
@BobDalgleish,我无权访问应用程序,也无法更改它的代码,所以这不是我的解决方案。也许您知道排除
<script>内容的方法,或者只获取selenium 中html 元素的顶级文本的方法?
标签: java selenium dom selenium-webdriver webdriver