2011-10-17 27 views
49

私はSeleniumを初めて使っています。私は次のコードで(コードにコメントとして)javascriptスニペットを実行したいが、そうすることはできない。助けてください。Pythonを使用してSeleniumでjavascriptを実行する

from selenium import webdriver 
import selenium 
from selenium.common.exceptions import NoSuchElementException 
from selenium.webdriver.common.keys import Keys 
import time 

patch = raw_input("Enter patch number\n") 
rel = raw_input("Enter release\n") 
plat = raw_input("Enter port\n") 

browser = webdriver.Firefox() 

browser.get("xxxxxxxxxxxxxxxxx") 

pdtfamily = browser.find_element_by_id("prodFamilyID") 
pdtfamily.send_keys("Database & Tools" + Keys.TAB) 
time.sleep(5) 

pdt = browser.find_element_by_id("productID") 
pdt.send_keys("Intelligent Agent" + Keys.TAB) 
time.sleep(5) 

pdt1 = browser.find_element_by_id("patchCacheChkBxID") 
pdt1.send_keys(Keys.SPACE) 
time.sleep(5) 

pdt7 = browser.find_element_by_id("M__Idf") 
pdt7.send_keys(plat) 

pdt8 = browser.find_element_by_id("M__Idg") 
pdt8.send_keys("American English") 

# Here I want to execute this javascript - "submitForm('patchCacheAdd',1,{'event':'ok'});return false" 

browser.close() 

私が使用している場合 -

selenium.GetEval("submitForm('patchCacheAdd',1,{'event':'ok'});return false") 

そのエラーを出して -

AttributeError: 'module' object has no attribute 'GetEval'I 

答えて

78

browser.execute_script代わりのselenium.GetEvalを試してみてください。

たとえば、this answerを参照してください。

30

使用execute_scriptが、ここではPythonの例です:

driver = webdriver.Firefox() 

driver.get("http://stackoverflow.com/questions/7794087/running-javascript-in-selenium-using-python") 
driver.execute_script("document.getElementsByClassName('comment-user')[0].click()") 
+0

上記のコードをテストするためのサンプルコメント –

関連する問題