17

我正在尝试使用 selenium更改元素的 CSS 样式(例如: from "visibility: hidden;"to ) 。(通过 selenium+python 的任何其他方法都将被优雅地接受)。"visibility: visible;".execute_script

我的代码:

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,我需要做什么?

4

3 回答 3

23

这是一个不使用任何 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"

于 2013-07-28T19:40:14.840 回答
7

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

script = 'document.styleSheets[0].insertRule("button:focus {background-color: red !important;}", 0 )' 
driver.execute_script(script)
于 2017-06-04T07:53:53.427 回答
4

String inexecute_script()是您要运行的 JS 代码(文档)。

如果你使用 jQuery 它可以只是

driver.execute_script("$('#copy_link').css('visibility', 'visible');")
于 2013-07-28T19:38:32.443 回答