selenium-常见题目办理方案汇总

[复制链接]
发表于 2024-12-8 07:58:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
selenium版本

selenium版本为: 3.141.0
注:selenium4x跟selenium3x会有差别的使用方法,
selenium代理本地浏览器页面

使用 Selenium 库实现对 Google Chrome 浏览器的主动化控制。
首先,通过 os.popen 下令启动本地 Chrome,并开启长途调试端口。接着,设置 ChromeDriver 的路径和浏览器选项,确保 Selenium 可以或许连接到已启动的 Chrome 实例。代码随后初始化 WebDriver,最大化浏览器窗口,并导航至指定页面。
  1. import os
  2. import time  # 事件库,用于硬性等待
  3. from selenium import webdriver  # 导入selenium的webdriver模块
  4. os.popen('start chrome --remote-debugging-port=9527 --user-data-dir="C:\selenium"')
  5. chrome_driver_path = r"C:\Program Files\Google\Chrome\Application\chromedriver.exe"
  6. options = webdriver.ChromeOptions()
  7. options.binary_location = r"C:\Program Files\Google\Chrome\Application\chrome.exe"
  8. options.add_experimental_option("debuggerAddress", "127.0.0.1:9527")
  9. driver = webdriver.Chrome(executable_path=chrome_driver_path, options=options)
  10. # 最大化浏览器窗口
  11. driver.maximize_window()
  12. url = "https://etax.guangdong.chinatax.gov.cn:8443/loginb/"
  13. driver.get(url)
  14. time.sleep(2)
复制代码
Selenium之多窗口句柄的切换

在使用 Selenium 进行浏览器主动化操纵时,经常需要处置惩罚多个浏览器窗口或标签页。例如,当点击一个 <a 标签的超链接时,可能会在新窗口或新标签页中打开目标页面。如果不进行窗口句柄的切换,Selenium 仍会在原窗口中实行操纵,从而无法控制新打开的窗口。本文将先容怎样使用 Selenium 进行多窗口句柄的切换,确保可以或许顺利操纵新窗口或标签页。
多窗口句柄的基本概念
每个浏览器窗口或标签页在 Selenium 中都有一个唯一的句柄(Handle)。通过获取所有窗口的句柄,开辟者可以在差别窗口之间切换,实行相应的操纵。以下是处置惩罚多窗口的基本步骤:


  • 获取当前所有窗口的句柄
  • 切换到目标窗口 实行所需操纵
  • 切换回原窗口(如有需要)
  1. # 获取当前页面的所有句柄
  2. window_handles = driver.window_handles
  3. # 切换到新的标签页(假设新标签页是 window_handles[1])
  4. driver.switch_to.window(window_handles[1])
  5. # 在新窗口中执行操作,例如获取页面标题
  6. print("新窗口的标题:", driver.title)
  7. # 切换回原来的标签页(首页)
  8. driver.switch_to.window(window_handles[0])
  9. # 在原窗口中继续操作
  10. print("原窗口的标题:", driver.title)
复制代码
注:driver的界说见前文
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表