[英]Python Selenium variable not defined
我有一個 js 文件,我想在網頁中運行它。 我在這個js文件中定義了很多變量和function。 我可以使用execute_script(myScript)
運行代碼,但是當我這樣做時,我不能在之前execute_script
中定義的execute_script
中使用任何變量或 function 。
這是一個測試代碼:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.google.com")
driver.execute_script("let testVar = 10")
driver.execute_script("console.log(testVar)")
這是錯誤:
selenium.common.exceptions.JavascriptException:消息:javascript 錯誤:未定義 testVar
當使用let test_var = 10
聲明變量時,該變量將在腳本命名空間中定義,並在腳本完成后消失。
如果要保留該變量以供其他腳本使用,則必須將其錨定到文檔命名空間。 例如,您可以通過在文檔實例上定義一個屬性來實現這一點。 如果您擔心命名空間污染,可以通過將 object 屬性添加到文檔並將變量存儲在此 object 中來為腳本定義命名空間。
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.google.com")
driver.execute_script("document.testVar = 10")
driver.execute_script("console.log(document.testVar)")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.