#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)