Открытие вкладок в браузере с переменной ссылкой - PullRequest
0 голосов
/ 07 июня 2018

Я использую Python и Selen, пытаясь открыть новую вкладку.Функция send_keys не открывает вкладки, но выполняет execute_script.У меня проблема с URL-адресом, который сохраняется в переменной, и мне нужно передать его в сценарий, но я получаю сообщение об ошибке.

Код:

src = 'http://yahoo.com'
driver.execute_script("window.open(" + src + ",'_blank');")

Сообщение об ошибке:

selenium.common.exceptions.WebDriverException: Message: unknown error: Runtime.evaluate threw exception: SyntaxError: missing ) after argument list

Также пробовал, не работает:

driver.find_element_by_tag_name('body').send_keys(Keys.COMMAND + 't')

driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')

Работает, но URL-адрес жестко закодирован:

driver.execute_script("window.open('http://www.google.com/','_blank');")

Ответы [ 2 ]

0 голосов
/ 29 августа 2019

Вы можете использовать format для вставки переменной.

Пример:

driver = webdriver.Chrome(executable_path="/tmp/chromedriver")

link = 'http://example.com'
driver.execute_script('window.open("{}","_blank");'.format(link))
driver.switch_to.window(driver.window_handles[-1])
0 голосов
/ 07 июня 2018

это сработало:

driver.execute_script('''window.open('',"_blank");''')
driver.switch_to.window(driver.window_handles[-1])
driver.get(src)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...