Selenium (с python), как изменить стиль css элемента

Я пытаюсь изменить стиль CSS элемента (пример: от "visibility: hidden;" до "visibility: visible;" ), используя selenium .execute_script . (любой другой метод через selenium + python будет принят грациозно).

мой код:

 driver = webdriver.Firefox() driver.get("http://www.example.com") elem = driver.find_element_by_id('copy_link') elem.execute_script( area of my problem ) 

что мне нужно сделать, чтобы играть с CSS веб-страницы?

3 Solutions collect form web for “Selenium (с python), как изменить стиль css элемента”

Вот пример без использования jQuery. Он скроет логотип Google.

 from selenium import webdriver driver = webdriver.Firefox() driver.get("http://www.google.com") driver.execute_script("document.getElementById('lga').style.display = 'none';") 

Та же идея может быть использована для отображения скрытого элемента, например, путем установки .style.display на "block" .

Строка в execute_script() – это код JS, который вы хотите запустить ( docs ).

Если вы используете jQuery, это может быть просто

 driver.execute_script("$('#copy_link').css('visibility', 'visible');") 

Вот решение, которое я нашел, используя таблицы стилей документов. Этот способ велик, потому что вы также можете добавить стиль псевдо-класса.

 script = 'document.styleSheets[0].insertRule("button:focus {background-color: red !important;}", 0 )' driver.execute_script(script) 
Python - лучший язык программирования в мире.