Je ich nejaký spôsob, ako zakázať lepivé hlavičky / päty / obsah na účely testovania
Chcem prevziať celú webovú stránku, ako je rozšírenie prehliadača. ako je požiar ak viete, navrhnite mi to.
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]);"
+ "};"
);
Som schopný zakázať všetky css, ale mojim problémom nie je zakázať celý css len pevný / lepiaci hlavičky moju predchádzajúcu otázku
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");
používam to, ale nefunguje podľa očakávania.
odpovede:
1 pre odpoveď č. 1Čo ak prepisujete iba atribút css hlavičky?
((JavascriptExecutor) yourDriver).executeScript("document.getElementById("the_id_of_the_header").style.position = "static";");
UPDATE:
Skúste tento kód 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";
}
}
Ak chcete skontrolovať väčšiu hodnotu, stačí rozšíriť if
vyhlásenia.