ホームページ >バックエンド開発 >Python チュートリアル >Python を使用して Selenium で JavaScript コードを実行する方法

Python を使用して Selenium で JavaScript コードを実行する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-11-03 18:15:29932ブラウズ

How to Execute JavaScript Code in Selenium Using Python?

Python で Selenium を使用した JavaScript の実行

提供されたコード スニペットの目標は、Python で Selenium を使用して特定の JavaScript スニペットを実行することです。このコード スニペットは、Web アプリケーションと対話してワークフローを自動化することを目的としています。ただし、selenium.GetEval を使用して JavaScript を実行しようとすると、AttributeError が発生して失敗します。

解決策:

Python を使用して Selenium で JavaScript を実行する正しい方法は、browser.execute_script です。 ()。この問題を解決するには、selenium.GetEval() をbrowser.execute_script() に置き換えます。

改訂コード:

<code class="python"># Import necessary modules
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

# Get user inputs
patch = input("Enter patch number\n")
rel = input("Enter release\n")
plat = input("Enter port\n")

# Launch Firefox browser
browser = webdriver.Firefox()

# Navigate to the target web page
browser.get("xxxxxxxxxxxxxxxxx")

# Find and populate various input fields
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")

# Execute the desired JavaScript code
browser.execute_script("submitForm('patchCacheAdd',1,{'event':'ok'});return false;")

# Close the browser
browser.close()</code>

browser.execute_script() を使用すると、 JavaScript コード「submitForm('patchCacheAdd',1,{'event':'ok'});return false;」 Python で書かれた Selenium スクリプト内で正常に実行できます。

以上がPython を使用して Selenium で JavaScript コードを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。