2013-07-28 107 views
13

我試圖使用硒.execute_script更改元素的CSS樣式(例如:從"visibility: hidden;""visibility: visible;")。 (通過硒+ python的任何其他方法將被優雅地接受)。Selenium(with python)如何修改元素css樣式

我的代碼:

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玩到呢?

回答

2

字符串execute_script()是您想要運行的JS代碼(docs)。

如果你使用jQuery,也可以只是

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

我都試過了,得到了WebDriverException:消息:U'<[EX [ 「他想用的\\ ID來獲得元素」 %s的\\ 「但它是不存在的頁面上。」 「#copy_link」]]]>';堆棧跟蹤:。看起來該元素僅在「懸停鼠標」上激活(或可見)... –

+0

複製鏈接究竟是什麼? –

10

這裏是不使用任何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",例如以顯示隱藏的元件。

+0

謝謝,我已經試過它只收到以下錯誤:WebDriverException:消息:u'document.getElementById(...)爲空'; –

+0

@ user2627775,你能確認這個元素是否真的存在並且沒有包含在'