Selenium(用python)如何修改元素css样式

时间:2013-07-28 19:27:09

标签: python selenium selenium-webdriver

我正在尝试使用selenium "visibility: hidden;"更改元素的CSS样式(例如:从"visibility: visible;"更改为.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 个答案:

答案 0 :(得分:14)

这是一个不使用任何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",可以使用相同的想法来显示隐藏元素。

答案 1 :(得分:3)

execute_script()中的字符串是您要运行的JS代码(docs)。

如果您使用jQuery,它可以只是

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

答案 2 :(得分:1)

这是我使用文档样式表找到的解决方案。 这种方式很棒,因为您还可以添加伪类样式。

script = 'document.styleSheets[0].insertRule("button:focus {background-color: red !important;}", 0 )' 
driver.execute_script(script)