Пытаюсь сделать следующее: в первой вкладке открыть сайт. Создать еще одну вкладку и в ней тоже открыть сайт...
Максимум, что выходит - это 2 раза открыть нужные сайты в первой вкладке, а вторую оставить нетронутой даже если она активна. Пытался посылать клавиши "crtl - TAB", но почему-то selenium работает только с первой вкладкой.
import time,os
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
chromedriver = "/home/andrew/Загрузки/chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver)
for iter in range(0,3):
driver.find_element_by_tag_name("body").send_keys(
Keys.CONTROL + "t")
driver.get("http://google.com")
time.sleep(3)
# первая вкладка
search = driver.find_element_by_name('q')
search.send_keys('andrew sotnikov site:progreso.com.ua')
search.send_keys(
Keys.RETURN) # hit return after you enter search text
time.sleep(5)
time.sleep(3)
# вторая вкладка
driver.find_element_by_tag_name("body").send_keys(
Keys.CONTROL + "t")
driver.get("http://google.com")
time.sleep(2)
search = driver.find_element_by_name('q')
search.send_keys('andrew sotnikov site:progreso.com.ua')
search.send_keys(
Keys.RETURN) # hit return after you enter search text
time.sleep(5)
driver.find_element_by_tag_name('body').send_keys(
Keys.CONTROL + 'w')
Пользователь добавил сообщение 10 Октября 2016, 22:41:43:
Все более-менее решилось. Лучшее что я мог придумть - это использовать window_handles. Только предварительно нужно пооткрывать все вкладки, а уже после переключаться между ними посредством метода switch_to_window.
for elem in range(0,3):
driver.find_element_by_tag_name("body").send_keys(
Keys.CONTROL + "t")
for handle in driver.window_handles:
driver.get("http://google.com")
driver.switch_to_window(driver.handle)
time.sleep(2)
search = driver.find_element_by_name('q')
search.send_keys('andrew sotnikov site:progreso.com.ua')
search.send_keys(
Keys.RETURN) # hit return after you enter search text
time.sleep(5)