我正在使用Selenium来加载网页。我需要检测页面是否水平溢出。不幸的是,driver.FindElement(By.TagName("html")).Size.Width
总是返回浏览器宽度,即使实际的HTML元素溢出也是如此。
检查水平滚动条的存在是否有效。反正有检查吗?
还有其他想法吗?
C#代码示例表示赞赏。
谢谢,
答案 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” );