簡體   English   中英

通過Selenium在Python中運行帶有變量的execute_script

[英]Running execute_script with variable inside in Python via Selenium

我正在嘗試執行一個Python腳本,它在firefox瀏覽器中通過selenium運行一個函數。

現在我使用:

pageurl = 'https://www.google.com'
driver.get(pageurl)
driver.execute_script("alert('hi')")

確實在firefox中運行警報框,並顯示'hi'。

我希望能夠讓警報輸出/運行變量。

像這樣:

pageurl = 'https://www.google.com'
driver.get(pageurl)
keyy = 'blabla'
driver.execute_script("alert(keyy)")

但是我沒有運行alert命令,而是出錯了。

Traceback (most recent call last):
  File "C:\Users\Jeroen\AppData\Local\Programs\Python\Python37-32\test.py", line 29, in <module>
    driver.execute_script("alert(keyy)")
  File "C:\Users\Jeroen\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 636, in execute_script
    'args': converted_args})['value']
  File "C:\Users\Jeroen\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "C:\Users\Jeroen\AppData\Local\Programs\Python\Python37-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.JavascriptException: Message: ReferenceError: keyy is not defined

我該怎么寫driver.execute_script("alert(keyy)")

您可以使用字符串格式將值放入字符串中:

script = "alert('{}')".format(keyy)
driver.execute_script(script)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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