3

我在尝试检查页面上的某些文本是否显示在一行时遇到了一个问题,我的意思是 html 不包含 br 标签,但由于分辨率/字体大小 - 文本被包装到第二行。有没有办法用硒知道它?

4

2 回答 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 回答