Как открывать новые вкладки с помощью selenium и управлять ими

#python #selenium #webdriver #selenium-chromedriver

#python #селен #webdriver #selenium-chromedriver

Вопрос:

Я пытаюсь открыть новую вкладку с помощью ‘https://www.gmail.com ‘ url, затем выберите некоторую информацию и вернитесь на первую страницу, я использую команду CTRL t, чтобы открыть новую вкладку, но как я могу переключаться между двумя страницами? Мой фрагмент кода:

 driver.find_elements_by_css_selector('body').send_keys(Keys.CONTROL   "t")
  

Фактический код:

             bot = self.bot

            guids = bot.window_handles()

            time.sleep(2)

            bot.execute_script("window.open()")

            bot.get('https://gmail.com')

            time.sleep(1)
  

Версия Python = Python 3.8.5

Ответ №1:

 #current window
    first_tab = bot.window_handles[0]
#create new tab
    bot.execute_script("window.open()")
#move to new tab
    new_tab = bot.window_handles[1]
    bot.switch_to.window(new_tab)
    bot.get('https://gmail.com')
#switch to first tab
    bot.switch_to.window(first_tab)
  

Комментарии:

1. У меня возникают эти ошибки: Instance of 'WebDriver' has no 'getWindowHandles' member , и: Instance of 'WebDriver' has no 'getWindowHandle' member

2. обновил мой ответ — это driver.window_handles() и driver.switch_to_window(guid)

3. Эй, на самом деле, вместо этого у меня ошибка: TypeError: 'list' object is not callable

4. вы можете использовать его следующим образом window_before = driver.window_handles[0] window_after = driver.window_handles[1] driver.switch_to_window(window_after)