Задать вопрос
@Denis9999

Не открывается новая вкладка в Chrome, Selenium + Python 3.4?

import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
import time
from functools import wraps
from selenium.common.exceptions import TimeoutException, NoSuchElementException, StaleElementReferenceException
from selenium.webdriver.support.wait import WebDriverWait
import lxml.html
import codecs
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import os
import re
from selenium.webdriver.common.action_chains import ActionChains


driver = webdriver.Chrome('C:/Python34/chromedriver.exe')
driver.get("https://www.site.com/")
ActionChains(driver).key_down(Keys.CONTROL).send_keys('t').key_up(Keys.CONTROL).perform()


При этом нет никакой ошибки. Другой вариант так же не работает:
driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL+ 't')
  • Вопрос задан
  • 1870 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
@PhilAT
Вот рабочий вариант:
# Открыть новую пустую вкладку
driver.execute_script("window.open('','_blank');")
# переключиться на новую вкладку (с индексом 1)
driver.switch_to.window(driver.window_handles[1])

# если необходимо
# вернуться на предыдущую вкладку (с индексом 0)
driver.switch_to.window(driver.window_handles[0])
Ответ написан
Комментировать
EreminD
@EreminD
Кое-что умею
Попробуйте так

Основная задумка в том, чтобы послать в body клавиши Ctrl+Tab
self.driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.TAB)
Ответ написан
Хром может блокировать отрытие вкладок, используйте Js для этого дела Новая вкладка
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы