Selenium: переход на новыю вкладку - Python

Узнай цену своей работы

Формулировка задачи:

Имееться 2 вкладки. В первой выполнен запрос и успешно открыта страница. Вторая вкладка открыта и на данный момент активна. Выполняю поиск, но ищет почему-то в первой вкладке. Как забыть про первую вкладку и работать только со второй?
Листинг программы
  1. import time,os
  2. from selenium import webdriver
  3. from selenium.webdriver.common.keys import Keys
  4.  
  5. chromedriver = "/home/andrew/Загрузки/chromedriver"
  6. os.environ["webdriver.chrome.driver"] = chromedriver
  7. driver = webdriver.Chrome(chromedriver)
  8. for iter in range(0,3):
  9. driver.find_element_by_tag_name("body").send_keys(
  10. Keys.CONTROL + "t")
  11. driver.get("http://google.com")
  12. time.sleep(3)
  13. # первая вкладка
  14. search = driver.find_element_by_name('q')
  15. search.send_keys('andrew sotnikov site:progreso.com.ua')
  16. search.send_keys(
  17. Keys.RETURN) # hit return after you enter search text
  18. time.sleep(5)
  19. time.sleep(3)
  20. # вторая вкладка
  21. driver.find_element_by_tag_name("body").send_keys(
  22. Keys.CONTROL + "t")
  23. driver.get("http://google.com")
  24. time.sleep(2)
  25. search = driver.find_element_by_name('q')
  26. search.send_keys('andrew sotnikov site:progreso.com.ua')
  27. search.send_keys(
  28. Keys.RETURN) # hit return after you enter search text
  29. time.sleep(5)
  30.  
  31. driver.find_element_by_tag_name('body').send_keys(
  32. Keys.CONTROL + 'w')

Решение задачи: «Selenium: переход на новыю вкладку»

textual
Листинг программы
  1. for elem in range(0,3):
  2.     driver.find_element_by_tag_name("body").send_keys(
  3.     Keys.CONTROL + "t")
  4.  
  5. for handle in driver.window_handles:
  6.  
  7.     driver.get("http://google.com")
  8.     driver.switch_to_window(driver.handle)
  9.     time.sleep(2)
  10.     search = driver.find_element_by_name('q')
  11.     search.send_keys('andrew sotnikov site:progreso.com.ua')
  12.     search.send_keys(
  13.         Keys.RETURN)  # hit return after you enter search text
  14.     time.sleep(5)

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут