webentwicklung-frage-antwort-db.com.de

Wie kann ich die Stilanzeige eines HTML-Elements in einem Selenium-Test einstellen?

Ich bekomme ein Element wie 

cv_upload = driver.find_element_by_id('id_cv_upload')

Also möchte ich seine Anzeige als Inline in Python selbst einstellen .Ist es möglich mit Python die Anzeige einzustellen.Ich habe es versucht 

cv_upload.style.display = "inline"

was zeigt mir Fehler.
Eine Möglichkeit, die mir in den Sinn kommt, ist, Jquery zu verwenden, um die Anzeige zu ändern und sie dann mit driver.execute auszuführen, aber leider bekomme ich nicht die richtige Syntax dafür. Lass mich wissen, wie das geht (Die Syntax.) Danke.

20
NIlesh Sharma

Finden Sie schließlich heraus, wie Sie die Anzeige eines Elements festlegen können.

driver.execute_script("document.getElementById('id_cv_upload').style.display='block';")

grundsätzlich verwende ich driver.execute_script. Ich führe ein Java-Skript aus, um den Stil eines Elements festzulegen.

4
NIlesh Sharma

da Sie jQuery markiert haben - Sie können die Funktion css () verwenden, um css-Attribute festzulegen/zu erhalten

$('#id_cv_upload').css('display','inline');
46
ᾠῗᵲᄐᶌ

Falls Ihr Element keine ID hat, können Sie dies auch mit css tun 

in Python: 

 driver.execute_script("document.querySelector('yourCSSLocatorGoesHere').style.display='block';")

in Java:

 WebDriver driver=new FirefoxDriver();   
    JavascriptExecutor js=(JavascriptExecutor) driver;
  driver.execute_script("document.querySelector('yourCSSLocatorGoesHere').style.display='block';")
0
Capital Terefe
$('#box').css(
{
  background: "#FF0000",
  "box-shadow": "1px 1px 5px 5px red",
  width: "100px",
  height: "100px",
  display: "block"
}
);

BSI.id (). SetStyle () vs. jQuery.css () vs. natives DOM

0
slva2000