他们是否可以禁用粘性页眉/页脚/内容以进行测试
我希望将整个网页屏幕截图视为浏览器扩展程序。像火焰一样 如果你知道的话请建议我。
jse.executeScript("var el = document.getElementsByTagName('*');"
+ "for(var i = 0; i < el.length; i++){"
+ " if (el[i].getAttribute(\"type\") == \"text/css\")"
+ " el[i].parentNode.removeChild(el[i]);"
+ "};"
);
我能够disable all css。但我的问题不是禁用整个CSS只有固定/粘性标题my previous question
ArrayList<RemoteWebElement> totalElements = (ArrayList<RemoteWebElement>) jse.executeScript("var x = document.querySelectorAll('*');"
+ "for (var i = 0; i< x.length; i++) {"
+ "if (x[i].style.position == 'fixed' || x[i].style.position == 'absolute' || x[i].style.position == 'relative') {"
+ "x[i].style.position = 'static'"
+ "}"
+ "}"
+ "return x");
我正在使用此功能但未按预期工作。
答案 0 :(得分:1)
如果只覆盖标题的css属性怎么办?像:
((JavascriptExecutor) yourDriver).executeScript("document.getElementById('the_id_of_the_header').style.position = 'static';");
更新:
试试这个javascript代码:
var elems = document.body.getElementsByTagName('*');
for(i = 0; i < elems.length; i++)
{
var elemStyle = window.getComputedStyle(elems[i]);
if(elemStyle.getPropertyValue('position') == 'fixed')
{
elems[i].style.position = 'static';
}
}
如果要查看更多值,只需扩展if
语句。