Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过Selenium在Python中运行包含变量的execute_脚本_Javascript_Python_Selenium - Fatal编程技术网

Javascript 通过Selenium在Python中运行包含变量的execute_脚本

Javascript 通过Selenium在Python中运行包含变量的execute_脚本,javascript,python,selenium,Javascript,Python,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(pageur

我正在尝试执行一个小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\u scriptalertkeyy?

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

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

驱动程序。执行脚本警报“%s”%keyy@thebjorn如果我需要在驱动程序中使用JavaScript变量执行任何数字操作,如何执行?执行_脚本?@hafiz031这是一个全新的问题,请提出一个新问题-在18个多月前的问题评论中提出新问题不太可能得到任何曝光。@thebjorn这里是: