python webdriver在chrome浏览器中的硒新标签

Sub*_*Sen 7 python selenium google-chrome

我无法在 chrome 中打开新标签页。我的要求是打开一个新选项卡做一些操作然后关闭这个新选项卡并返回到旧选项卡。下面的 python 代码在 Firefox 中有效,但在 Chrome 中无效。有人可以帮我吗?

ActionChains(driver).key_down(Keys.CONTROL,body).send_keys('t').key_up(Keys.CONTROL).perform()
Run Code Online (Sandbox Code Playgroud)

And*_*son 8

猜猜这会有所帮助:

from selenium import webdriver
driver = webdriver.Chrome()
driver.execute_script("window.open('','_blank');")
Run Code Online (Sandbox Code Playgroud)

这段代码应该启动新的Chrome浏览器会话并在新选项卡中打开空白页面

使用driver.execute_script("window.open('URL');")与所需的网址打开新的标签页


paj*_*nas 6

我无法打开具有所需 URL 的新标签页driver.execute_script("window.open('URL');")

因此我改变了主意。

如果我们考虑将当前窗口切换到新窗口,任何链接都将在新选项卡上开始。我将打开新标签页driver.get(URL)。我需要使用的唯一方法是driver.switch_to_window(driver.window_handles[1]).

当我们关闭新选项卡时,我们只需将窗口切换到主窗口:driver.switch_to_window(driver.window_handles[0])driver.switch_to_window(main_window)

顺便说一下,如果我们在关闭新选项卡后不切换到主窗口,它会引发错误。

from selenium import webdriver


driver = webdriver.Chrome()
driver.get("http://www.google.com/")

# save main_window
main_window = driver.current_window_handle

# obtain url of gmail on the home page of Google
addr = driver.find_element_by_xpath('//*[@id="gbw"]/div/div/div[1]/div[1]/a').get_attribute("href")

# open new blank tab
driver.execute_script("window.open();")

# switch to the new window which is second in window_handles array
driver.switch_to_window(driver.window_handles[1])

# open successfully and close
driver.get(addr)
driver.close()

# back to the main window
driver.switch_to_window(main_window)
driver.get(addr)
Run Code Online (Sandbox Code Playgroud)