0

我已经尝试了类似问题中的所有方法,但只有一种方法有效,那就是使用 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 中更改任何选项以启用这样的打开选项卡吗?

编辑:第二种和第三种方法根本不会产生任何结果。甚至不是一个例外。

4

2 回答 2

0

下面的代码适用于我打开和关闭选项卡:

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

第二种方法对我也不起作用。

于 2021-07-25T11:05:08.753 回答
0

导入硒模块

from selenium import webdriver

创建硒对象

driver = webdriver.Chrome()

获取驱动程序对象所需的 url

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

打开一个新窗口

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

关闭选项卡

driver.close()
于 2021-07-25T11:14:26.863 回答