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

Selenium(使用python)如何修改元素css样式,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,我正在尝试使用selenium更改元素的CSS样式(例如:从“可见性:隐藏;”更改为“可见性:可见;”“)。(通过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

我正在尝试使用selenium
更改元素的CSS样式(例如:从
“可见性:隐藏;”
更改为
“可见性:可见;”“
)。(通过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,我需要做什么?

执行脚本()中的字符串
是要运行的JS代码()

如果使用jQuery,它可以

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

下面是一个不使用任何jQuery的示例。它将隐藏谷歌的标志

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”
,可以使用相同的想法来显示隐藏元素。

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

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

谢谢,我尝试了它,但只收到以下错误:WebDriverException:Message:u'document.getElementById(…)为null'@user2627775,您能否确认该元素实际存在且未包装在
中?查看
driver.page\u source
,查看要显示或隐藏的元素是否实际存在于DOM中。另外,确保您拥有最新版本的selenium可能是值得的。selenium web driver 2.33,通过driver.page_source,我确认元素在源代码中。(id did:html\u source=browser.page\u source如果在html\u source:print“in”中“whatever”,则为“whatever”。有问题的html不在,它在div/div/a/span中。“bindpoint=”copy\u link\u wrapper“”会是问题吗?(如中)@用户2627775,您必须使用您试图刮取的网站和
div
的ID来编辑您的帖子,以便我们可以实际运行您的代码。如果我自己没有看到问题,我就不能说其他任何话。我已经试过,得到WebDriverException:Message:u'';Stacktrace:。似乎该元素仅被激活(或可见)在“鼠标悬停”上…复制链接到底是什么??