马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
selenium版本
selenium版本为: 3.141.0
注:selenium4x跟selenium3x会有差别的使用方法,
selenium代理本地浏览器页面
使用 Selenium 库实现对 Google Chrome 浏览器的主动化控制。
首先,通过 os.popen 下令启动本地 Chrome,并开启长途调试端口。接着,设置 ChromeDriver 的路径和浏览器选项,确保 Selenium 可以或许连接到已启动的 Chrome 实例。代码随后初始化 WebDriver,最大化浏览器窗口,并导航至指定页面。
- import os
- import time # 事件库,用于硬性等待
- from selenium import webdriver # 导入selenium的webdriver模块
- os.popen('start chrome --remote-debugging-port=9527 --user-data-dir="C:\selenium"')
- chrome_driver_path = r"C:\Program Files\Google\Chrome\Application\chromedriver.exe"
- options = webdriver.ChromeOptions()
- options.binary_location = r"C:\Program Files\Google\Chrome\Application\chrome.exe"
- options.add_experimental_option("debuggerAddress", "127.0.0.1:9527")
- driver = webdriver.Chrome(executable_path=chrome_driver_path, options=options)
- # 最大化浏览器窗口
- driver.maximize_window()
- url = "https://etax.guangdong.chinatax.gov.cn:8443/loginb/"
- driver.get(url)
- time.sleep(2)
复制代码 Selenium之多窗口句柄的切换
在使用 Selenium 进行浏览器主动化操纵时,经常需要处置惩罚多个浏览器窗口或标签页。例如,当点击一个 <a 标签的超链接时,可能会在新窗口或新标签页中打开目标页面。如果不进行窗口句柄的切换,Selenium 仍会在原窗口中实行操纵,从而无法控制新打开的窗口。本文将先容怎样使用 Selenium 进行多窗口句柄的切换,确保可以或许顺利操纵新窗口或标签页。
多窗口句柄的基本概念
每个浏览器窗口或标签页在 Selenium 中都有一个唯一的句柄(Handle)。通过获取所有窗口的句柄,开辟者可以在差别窗口之间切换,实行相应的操纵。以下是处置惩罚多窗口的基本步骤:
- 获取当前所有窗口的句柄
- 切换到目标窗口 实行所需操纵
- 切换回原窗口(如有需要)
- # 获取当前页面的所有句柄
- window_handles = driver.window_handles
- # 切换到新的标签页(假设新标签页是 window_handles[1])
- driver.switch_to.window(window_handles[1])
- # 在新窗口中执行操作,例如获取页面标题
- print("新窗口的标题:", driver.title)
- # 切换回原来的标签页(首页)
- driver.switch_to.window(window_handles[0])
- # 在原窗口中继续操作
- print("原窗口的标题:", driver.title)
复制代码 注:driver的界说见前文
|