webdriver.get(url)方法打开网页会直接在当前标签页打开,造成内存问题(被覆盖的网页不会被系统回收
    所以需要在新标签页打开新的页面,然后关闭之前的标签页(释放先前页面占用的内存
    (否则长时间运行,程序就会因为内存不足而崩溃

    1. # 获得链接
    2. href = post_list[i].get_attribute('href')
    3. # 在新的标签页打开链接
    4. driver.execute_script(f'window.open("{href}", "_blank");')
    5. # 关闭当前标签页
    6. driver.close()
    7. # 关闭所有标签页(退出浏览器
    8. driver.quit()
    1. def open_url(url):
    2. driver.execute_script(f'window.open("{url}", "_blank");')
    3. driver.switch_to.window(driver.window_handles[0])
    4. driver.close()
    5. driver.switch_to.window(driver.window_handles[0])
    1. from selenium import webdriver
    2. import time
    3. driver=webdriver.Chrome()
    4. driver.get('http://ui.imdsx.cn/uitester/')
    5. # 最大化浏览器
    6. driver.maximize_window()
    7. # 定位到页面顶部
    8. js='window.scrollTo(0,0)'
    9. driver.execute_script(js)
    10. time.sleep(2)
    11. # 点击打开一个新的tab
    12. driver.find_element_by_css_selector('a[href="/new-index/"]').click()
    13. # 获取所有的打开的tab
    14. windowstabs=driver.window_handles
    15. print(windowstabs)
    16. # 获取当前tab
    17. currenttab=driver.current_window_handle
    18. print(currenttab)
    19. # 切换到新tab
    20. driver.switch_to.window(windowstabs[1])
    21. driver.find_element_by_css_selector('#newtag').send_keys('12334')
    22. #关闭当前tab
    23. driver.close()
    24. # 再切换到之前的tab
    25. driver.switch_to.window(windowstabs[0])

    参考:https://www.cnblogs.com/qiuqiu64/p/10510660.html