我正在尝试执行一个小的Python脚本,该脚本在firefox浏览器中通过硒运行一个函数。
现在我使用:
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)")
但是我没有运行警报命令,而是出现了一个错误。
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)")
?
答案 0 :(得分:0)
您可以使用字符串格式将值放在字符串中:
script = "alert('{}')".format(keyy)
driver.execute_script(script)