我正在尝试使用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,我需要做些什么?
答案 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)