2013-07-28 7 views
13

मैं सेलेनियम .execute_script का उपयोग कर किसी तत्व की सीएसएस शैली को बदलने की कोशिश कर रहा हूं (उदाहरण: "visibility: hidden;" से "visibility: visible;")। (सेलेनियम + पायथन के माध्यम से किसी अन्य विधि को स्वीकार्य रूप से स्वीकार किया जाएगा)।सेलेनियम (पायथन के साथ) एक तत्व सीएसएस शैली को संशोधित करने के लिए कैसे करें

मेरी कोड:

driver = webdriver.Firefox() 
driver.get("http://www.example.com") 

elem = driver.find_element_by_id('copy_link') 

elem.execute_script( area of my problem) 

मैं क्या आदेश वेबपेज के सीएसएस के साथ खेलने के लिए क्या करना चाहिए?

उत्तर

2

execute_script() में स्ट्रिंग जेएस कोड है जिसे आप चलाना चाहते हैं (docs)।

आप jQuery का उपयोग करते हैं यह सिर्फ

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

मैं कोशिश की है, मिल गया WebDriverException: संदेश: यू '<[पूर्व [[% 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';") 

एक ही विचार "block" को .style.display स्थापित करने, उदाहरण के लिए द्वारा एक छिपा तत्व को दिखाने के लिए इस्तेमाल किया जा सकता।

+0

धन्यवाद, मैंने इसे केवल निम्न त्रुटि प्राप्त करने का प्रयास किया है: WebDriverException: संदेश: u'document.getElementById (...) शून्य है '; –

+0

@ user2627775, क्या आप पुष्टि कर सकते हैं कि तत्व वास्तव में मौजूद है और '