Запуск execute_script с переменной внутри в Python через Selenium - PullRequest
0 голосов
/ 19 мая 2019

Я пытаюсь выполнить небольшой скрипт Python, который запускает функцию через selenium в браузере Firefox.

Теперь я использую:

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

, который действительно запускает окно предупрежденияв Firefox и показывает «Привет».

Я хочу иметь возможность разрешить вывод тревоги / запустить переменную.

Вот так:

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)")?

1 Ответ

0 голосов
/ 20 мая 2019

вы можете использовать форматирование строки, чтобы поместить значение в вашу строку:

script = "alert('{}')".format(keyy)
driver.execute_script(script)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...