1. ホーム
  2. javascript

[解決済み] Pythonを使ったSeleniumでのjavascriptの実行

2023-01-05 02:09:40

質問

私は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 

どのように解決するのですか?

試しに browser.execute_script の代わりに selenium.GetEval .

参照 この回答 を参考にしてください。