Как установить отображение стиля элемента html в тесте на селен?
Я получаю элемент вроде
cv_upload = driver.find_element_by_id('id_cv_upload')
Итак, я хочу установить его отображение как встроенное в сам python. возможно, чтобы python установил отображение.
Я попробовал
cv_upload.style.display = "inline"
который показывает мне ошибку.
Один из способов, который приходит мне в голову, - использовать JQuery для изменения отображения, а затем выполнить его с помощью driver.execute
, но, к сожалению, я не получаю правильный синтаксис для этого. Дайте мне знать, как это сделать (синтаксис.) Спасибо.
Ответы
Ответ 1
Наконец, выясните способ установки отображения элемента.
driver.execute_script("document.getElementById('id_cv_upload').style.display='block';")
в основном используя driver.execute_script
Я выполняю java script для установки стиля элемента.
Ответ 2
так как вы отметили jQuery. Вы можете использовать css() для установки/получения атрибутов css
$('#id_cv_upload').css('display','inline');
Ответ 3
$('#box').css(
{
background: "#FF0000",
"box-shadow": "1px 1px 5px 5px red",
width: "100px",
height: "100px",
display: "block"
}
);
BSI.id(). setStyle() vs jQuery.css() против собственного DOM
Ответ 4
Если ваш элемент не имеет идентификатора, вы можете сделать то же самое с помощью css
в python:
driver.execute_script("document.querySelector('yourCSSLocatorGoesHere').style.display='block';")
в Java:
WebDriver driver=new FirefoxDriver();
JavascriptExecutor js=(JavascriptExecutor) driver;
driver.execute_script("document.querySelector('yourCSSLocatorGoesHere').style.display='block';")