这是一个示例脚本:
import var
print(var.demend)
最后,它单击一些东西将打开一个新选项卡。我想关闭新标签并继续使用原始标签
答案 0 :(得分:0)
driver.window_handles
是浏览器标签的对象。
假设您要关闭第二个标签页(新标签页),此方法有效。
# continue from your code
driver.switch_to.window(driver.window_handles[1])
driver.close()
只需将window_handles[i]
的i更改为其他标签即可。
答案 1 :(得分:0)
要关闭新标签并继续使用原始标签,您必须:
number_of_windows_to_be(2)
和close()
生成 WebDriverWait 。切换回父选项卡。
代码块:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options, executable_path=r'C:\WebDrivers\chromedriver.exe')
driver.get('https://www.startpage.com/en/')
print("Initial Page Title is : %s" %driver.title)
windows_before = driver.current_window_handle
print("First Window Handle is : %s" %windows_before)
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input.search-form__input"))).send_keys("Example")
driver.find_element_by_css_selector("span.search-form__button-icon").click()
WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH, "//h3[@class='w-gl__label']//following::h3[1]"))).click()
WebDriverWait(driver, 10).until(EC.number_of_windows_to_be(2))
windows_after = driver.window_handles
new_window = [x for x in windows_after if x != windows_before][0]
driver.switch_to.window(new_window)
print("Page Title after Tab Switching is : %s" %driver.title)
print("Second Window Handle is : %s" %new_window)
driver.close()
driver.switch_to.window(windows_before)
print("Page Title after second Tab Switching is : %s" %driver.title)
print("Current Window Handle is : %s" %windows_before)
控制台输出:
Initial Page Title is : Startpage.com - The world's most private search engine
First Window Handle is : CDwindow-18CCC5501A5F68CBE1C3094D0D0B419D
Page Title after Tab Switching is : YouTube
Second Window Handle is : CDwindow-2EDCAB04A232660E8BCBD7A079DE574B
Page Title after second Tab Switching is : Startpage.com Search results
Current Window Handle is : CDwindow-18CCC5501A5F68CBE1C3094D0D0B419D
中找到相关的详细讨论