Selenium浏览器、标签页操作基础总结

  1. 创建、设置和打开浏览器对象
    这里设置的内容见代码注释部分。
from selenium import webdriver  # 用于操作浏览器
from selenium.webdriver.chrome.options import Options   # 用于设置谷歌浏览器
from selenium.webdriver.chrome.service import Service

def link():
    q1 = Options()
    # 禁用沙盒模式,增加兼容性
    q1.add_argument('--no-sandbox')
    # 保持浏览器的打开状态,即代码执行完毕时,浏览器仍不关闭(调试结束会关闭)
    q1.add_experimental_option('detach', True)
    # 设置浏览器驱动位置,打开浏览器,绑定设置,生成浏览器对象a1
    a1 = webdriver.Chrome(service=Service(r'chromedriver.exe'), options=q1)
    # 设置隐性等待时间10秒,即在等待时间内出现元素则立即执行,增加代码稳定性(体感上偶尔失效)
    a1.implicitly_wait(10)
    return a1
  1. 浏览器最大化、最小化、调整位置和尺寸、前进、后退、截图
    a1 = link()

    # 当前标签页中导航到目标网址,即不会新建新的标签页
    a1.get(url="https://www.baidu.com/")
    a1.get(url="https://www.bilibili.com/")
    a1.get(url="https://www.cnblogs.com/")

    # 浏览器最小化
    a1.minimize_window()
    # 浏览器最大化
    a1.maximize_window()

    # 设置浏览器位置,x和y轴(非数学坐标系),y轴向下
    a1.set_window_position(x=0,y=0)
    # 设置浏览器尺寸,宽和高
    a1.set_window_size(width=800,height=600)

    # 浏览器截图,与当前浏览器大小和显示视角相关
    a1.get_screenshot_as_file(filename="Your path.png")
    # F5刷新当前网页,一些动态的元素定位可能变化
    a1.refresh()

    # 网页后退
    a1.back()
    # 网页前进
    a1.forward()

3 网页(标签页)相关---打开和关闭浏览器,打开和切换标签页,导航到指定网址

    a1 = link()

    # 当前标签页中导航到目标网址,即不会新建新的标签页
    a1.get(url="https://www.baidu.com/")

    # 执行JavaScript打开一个新标签页
    a1.execute_script("window.open('');")

    # 获取窗口句柄并切换到新标签页
    window_hand = a1.current_window_handle  # 获取当前激活页的句柄
    window_hands=a1.window_handles          # 获取所有标签页的句柄,是个list,每个元素都是一个句柄
    a1.switch_to.window(window_hand)        # 切换激活页


    # 将激活页导航到目标网址
    a1.get("https://www.bilibili.com/")

    # 关闭当前标签页,仅有一个标签页时关闭浏览器
    a1.close()

    # 退出浏览器
    # a1.quit()
posted @ 2025-09-22 17:58  MyEngine  阅读(9)  评论(0)    收藏  举报