我在尝试检查页面上的某些文本是否显示在一行时遇到了一个问题,我的意思是 html 不包含 br 标签,但由于分辨率/字体大小 - 文本被包装到第二行。有没有办法用硒知道它?
问问题
1597 次
2 回答
0
这不是一个很好的解决方案,但可能会给你一些想法。当浏览器宽度缩小到某个点时,我们的文本应该换行到第二行。我开始全宽driver.manage().window().maximize();
并获得包含文本的元素的高度和宽度。然后我把浏览器窗口调小 driver.manage().window().setSize(new Dimension(width, height));
了,又得到了同一个元素的高和宽,然后可以验证新的高度大约是之前高度的两倍,而且宽度更小,说明它可能被包裹了。我想元素高度可能会增加,但文本不会换行(只是被切断),但这是我能想到的最好的。
于 2022-02-09T19:31:29.717 回答
-1
简短的回答:是的
长答案:
假设我们在网页上有这个元素:
<span id="longtext">Very very long long text yada yada blah blah blah</span>
然后
driver.findElement(By.id("longtext")).getText()
将在跨度内返回该文本。据我所知,它如何包装在页面中并不重要。
但如果你有这样的事情:
<span id="longtext">Longer text which is <span id="warning">boringly</span> long</span>
然后我想得到这个文本会有点困难。
但通常,在页面上显示并不重要,在大多数情况下getText()
,类中的方法WebDriver
应该返回整个内容。
请注意,上面示例中的driver
变量是预期的健康且有生命的WebDriver
类实例。我在自己的脚本中使用 Java,所以伪代码是基于 Java 的 Webdriver 示例
于 2013-05-07T07:32:45.807 回答