/ / È il loro modo per disabilitare intestazioni / piè di pagina / contenuti appiccicosi a scopo di test: javascript, html, css, selenio

È il loro modo di disabilitare intestazioni / piè di pagina / contenuti appiccicosi per scopi di test - javascript, html, css, selenio

È il loro modo per disabilitare intestazioni / piè di pagina / contenuto appiccicosi a scopo di test

voglio catturare l'intera schermata della pagina web come le estensioni del browser. come uno sparo se lo sai suggeriscimi.

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]);"
+ "};"
);

Io sono capace di disabilita tutti i css. ma il mio problema non è disabilitare l'intero css solo l'intestazione fissa / appiccicosa la mia domanda precedente

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");

Sto usando questo ma non funziona come previsto.

risposte:

1 per risposta № 1

Cosa succede se sovrascrivi solo l'attributo css dell'intestazione?

((JavascriptExecutor) yourDriver).executeScript("document.getElementById("the_id_of_the_header").style.position = "static";");

AGGIORNARE:

Prova questo codice 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";
}
}

Se vuoi controllare più valore, estendi il file if dichiarazione.