硒多联症

2024-06-25 22:41:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我有硒的问题。用我的代码,我应该能够点击一个图像,并等待3秒钟。在这个过程中,它会打开几个选项卡。我不知道如何关闭这些标签。你知道吗

这是我的密码:

from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys

import time

driver = webdriver.Chrome(executable_path=".\chromedriver.exe")
#
links = ["http://activeation.com/4W79",
         "http://activeation.com/4W89",
         "http://activeation.com/36ky",
         "http://activeation.com/36X5",
         "http://activeation.com/38QK",
         "http://activeation.com/4VdE",
         "http://activeation.com/4Vwm",
         "http://activeation.com/4Vxi",
         "http://activeation.com/4VyU",
         "http://activeation.com/4Vza",
         "http://activeation.com/4W0T"]

while True:
    for link in links:
        driver.get(link)
        time.sleep(6)
        element = driver.find_element_by_id("skip_bu2tton")
        actionchains = ActionChains(driver)
        actionchains.double_click(element).perform()
        time.sleep(3)

Tags: fromimportcomhttptimedriverseleniumlink
1条回答
网友
1楼 · 发布于 2024-06-25 22:41:18

如果在导航到新URL后可能会打开多个新窗口/选项卡,则可能需要使用以下代码关闭除基本窗口外的每个窗口/选项卡:

# Define the base window
current = driver.current_window_handle

# Naviagte through list of URLs. No while loop needed
for link in links:
    driver.get(link)
    time.sleep(6)

    driver.find_element_by_id("skip_bu2tton").click()

    # Check each window
    for window in driver.window_handles:
        # If window is not a base window
        if window != current:
            # ...switch to that window...
            driver.switch_to.window(window)
            # ...close it...
            driver.close()
            # ...switch back to base window
            driver.switch_to.window(current)

相关问题 更多 >