如何使用Selenium Driver检测页面是否水平溢出?

时间:2013-09-20 00:32:32

标签: c# javascript html selenium

我正在使用Selenium来加载网页。我需要检测页面是否水平溢出。不幸的是,driver.FindElement(By.TagName("html")).Size.Width总是返回浏览器宽度,即使实际的HTML元素溢出也是如此。

检查水平滚动条的存在是否有效。反正有检查吗?

还有其他想法吗?

C#代码示例表示赞赏。

谢谢,

3 个答案:

答案 0 :(得分:1)

我不知道C#,但它的本质是在页面上执行以下JQuery:

$("body").width() >= $(window).width()

并将其转换为布尔值;

答案 1 :(得分:1)

作为MrTi答案的更新,您可以使用此C#代码:

 var js = (IJavaScriptExecutor)webDriver;
 var isOverflowing = js.ExecuteScript("$('body').width() >= $(window).width()");

如果窗口过流

,则返回布尔值

答案 2 :(得分:1)

这很有效,不需要jQuery。

bool isOver =(bool)js.ExecuteScript(“javascript:return document.getElementsByTagName(\”html \“)[0] .scrollWidth> document.getElementsByTagName(\”html \“)[0] .clientWidth” );