ITPub博客

首页 > 自动化运维 > 应用服务器 > Selenium操作Chrome浏览器的两种方式

Selenium操作Chrome浏览器的两种方式

原创 应用服务器 作者:chen4613201 时间:2025-08-08 11:35:04 0 删除 编辑


# 1.使用Selenium打开浏览器

1. 下载好Chrome驱动,如果访问不了外网,可以 从这里下载,有各种新老版本及浏览器,有win\mac\linux适配的包以及无头模式的包


2. 使用python执行下列文件内容

```from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
import time
# 初始化浏览器驱动(Chrome)
# 如果驱动已在环境变量中,可简化为:driver = webdriver.Chrome()
# 关于如何设置环境变量,请自行百度
# path/to/chromedriver改成你的chrome驱动包的路径
# 比如 driver = webdriver.Chrome(executable_path=r'C://chromedriver')
driver = webdriver.Chrome(executable_path='path/to/chromedriver')
try:
    # 打开网页
    driver.get("https://www.baidu.com")
    
    # 最大化窗口
    driver.maximize_window()
    
    # 查找搜索框并输入内容
    search_box = driver.find_element(By.ID, "kw")
    search_box.send_keys("Selenium")
    
    # 模拟按下回车键
    search_box.send_keys(Keys.RETURN)
    
    # 等待3秒,让页面加载完成
    time.sleep(3)
    
    # 获取搜索结果标题并打印
    results = driver.find_elements(By.CSS_SELECTOR, ".result h3 a")
    for i, result in enumerate(results[:5]):  # 只打印前5条结果
        print(f"{i+1}. {result.text}")
    
    # 截图保存
    driver.save_screenshot("search_results.png")
finally:
    # 关闭浏览器
    driver.quit()
```

# 2.使用Selenium接管已打开浏览器


1.使用命令行(cmd)启动浏览器调试模式

```# Windows 示例(需替换为你的 Chrome 安装路径) 
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="C:\selenium_chrome_data" 
# macOS/Linux 示例 
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir="/tmp/selenium_chrome_data"
```

2.python执行下列代码,其中9222就是一步里的--remote-debugging-port=9222需保持一致

```from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time
# 配置 Chrome 选项
chrome_options = Options()
# 连接到已开启调试模式的浏览器
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
# 初始化驱动,连接到已打开的浏览器
driver = webdriver.Chrome(options=chrome_options)
try:
    # 现在可以控制已打开的浏览器了
    print("成功接管浏览器,当前页面标题:", driver.title)
    
    # 示例操作:打开一个新网页
    driver.get("https://www.baidu.com")
    time.sleep(2)
    
    # 在已打开的浏览器中执行其他操作
    if "百度" in driver.title:
        search_box = driver.find_element("id", "kw")
        search_box.send_keys("Selenium 接管浏览器")
        search_box.submit()
        time.sleep(3)
finally:
    # 注意:这里使用close()而不是quit(),避免关闭整个浏览器
    # driver.close()  # 关闭当前标签页
    pass  # 保持浏览器打开


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70046615/viewspace-3093030/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2025-06-03

  • 博文量
    2
  • 访问量
    6455