Как мне открывать / закрывать вкладки с помощью Selenium (Python)?

Я пробовал все методы в аналогичных вопросах, и только один из них работал, он использовал javascript.

      driver.execute_script("window.open('')")
#this works

ActionChains(driver).key_down(Keys.CONTROL).send_keys('t').key_up(Keys.CONTROL).perform()
#this doesn't

driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
#this doesn't work either

Я бы хотел, чтобы второй способ работал, так как он кажется наиболее читаемым и разумным, я что-то делаю не так в своем коде? Или есть ли какой-то параметр, который мне нужно изменить в Selenium, чтобы включить такие открывающиеся вкладки?

2 ответа

Ниже код работает для меня для открытия и закрытия вкладок:

      import time

from selenium import webdriver

driver = webdriver.Firefox()
driver.get("http://www.python.org")
time.sleep(2)
# open new tab
driver.execute_script("window.open('');")

# switch to the new tab and open new URL there
driver.switch_to.window(driver.window_handles[1])
driver.get("http://www.python.org")
time.sleep(2)
chld = driver.window_handles[1]
driver.switch_to.window(chld)
driver.close()

Второй способ у меня тоже не сработал.

импортировать модуль селена

      from selenium import webdriver

создает объект селена

      driver = webdriver.Chrome()

получает URL-адрес, необходимый для объекта драйвера

      url = "https://www.google.com/"

Открыть новое окно

      driver.execute_script("window.open('');")

Закройте вкладку

      driver.close()