/ / Je ich nejaký spôsob, ako zakázať lepivé hlavičky / päty / obsah na účely testovania - javascript, html, css, selén

Je ich nejaký spôsob, ako zakázať lepivé záhlavie / päty / obsah na účely testovania - javascript, html, css, selén

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.