簡體   English   中英

Python Selenium 變量未定義

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM