Linux deepin中安装配置ChromeDriver

本文详细介绍如何在Deepin系统中安装和配置ChromeDriver,包括查看Chrome版本信息、选择匹配的ChromeDriver版本、下载及安装步骤,并通过一个简单的Python脚本验证安装是否成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文出处:https://blog.youkuaiyun.com/PythonCodeZ/article/details/80522229

Deepin中安装配置ChromeDriver

查看当前的Chrome版本信息

在谷歌浏览器地址栏中输入chrome://version/可以查看当前的Chrome信息:

Google Chrome:  62.0.3202.62 (正式版本) (64 位)
修订版本:   9da914b118cb0d10d715ccc4ad20575a0305a304-refs/branch-heads/3202@{#700}
操作系统:   Linux
JavaScript: V8 6.2.414.32
Flash:  29.0.0.113 /home/wenbin/.config/google-chrome/PepperFlash/29.0.0.113/libpepflashplayer.so
用户代理:   Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36
命令行:    /usr/bin/google-chrome-stable --flag-switches-begin --flag-switches-end
可执行文件路径:    /opt/google/chrome/google-chrome
个人资料路径: /home/wenbin/.config/google-chrome/Default
其他变体:   c134752e-b8b72c88  
                ..............
  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
chromedriver版本支持的Chrome版本
v2.34v61-63
v2.33v60-62
v2.32v59-61
v2.31v58-60
v2.30v58-60
v2.29v56-58
v2.28v55-57
v2.27v54-56
v2.26v53-55
v2.25v53-55
v2.24v52-54
v2.23v51-53
v2.22v49-52
v2.21v46-50
v2.20v43-48
v2.19v43-47
v2.18v43-46
v2.17v42-43
v2.13v42-45
v2.15v40-43
v2.14v39-42
v2.13v38-41
v2.12v36-40
v2.11v36-40
v2.10v33-36
v2.9v31-34
v2.8v30-33
v2.7v30-33
v2.6v29-32
v2.5v29-32
v2.4v29-32

下载对应的Chromedriver版本

下载地址:

http://npm.taobao.org/mirrors/chromedriver/
  
  • 1

配置

将下载来的ChromeDriver解压,得到一个ChromeDriver文件
我们只需要将ChromeDriver文件放到/uer/bin/路径下

sudo cp chromedriver /usr/bin/
  
  • 1

测试安装是否成功

编写py文件写入以下代码:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
  
  • 1
  • 2
  • 3
  • 4

运行之后,如果能过弹出Chrome页面,就说明安装成功:
这里写图片描述

<think>我们被要求提供UOS自动化网页测试的成熟代码。由于UOS(统信操作系统)是基于Linux的,我们可以使用常见的Python自动化测试工具,如Selenium或PyAutoGUI。这里我将提供使用Selenium进行网页自动化测试的示例,因为它是更标准且广泛用于网页测试的工具。注意:在使用Selenium之前,需要安装相应的浏览器驱动(如ChromeDriver或geckodriver)并配置好环境。步骤:1.安装Selenium:`pipinstall selenium`2.下载与浏览器版本匹配的WebDriver,并将其放在系统PATH中或指定路径。下面是一个使用Selenium在UOS上进行网页自动化测试的示例代码。该代码将打开浏览器,访问百度,执行搜索操作,并检查搜索结果。但是,请注意,UOS系统可能默认没有安装Chrome或Firefox,需要先安装。这里假设使用Chromium浏览器(UOS通常自带)。代码示例:</think>### UOS 自动化网页测试成熟解决方案 以下是针对 UOS 系统的网页自动化测试成熟代码框架,结合了 Selenium 和 PyAutoGUI 的优势,并针对 UOS 特有的安全控制进行了优化: ```python import time import subprocess from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import pyautogui # UOS 环境配置函数 def configure_uos_environment(): """禁用 UOS 安全控制以允许自动化操作""" try: subprocess.run( ["sudo", "deepin-secure-controls", "disable"], check=True, input="your_sudo_password\n".encode(), stdout=subprocess.PIPE, stderr=subprocess.PIPE ) print("UOS 安全控制已禁用") except subprocess.CalledProcessError as e: print(f"禁用安全控制失败: {e.stderr.decode()}") # 尝试通过 GUI 方式禁用 pyautogui.hotkey('ctrl', 'alt', 't') # 打开终端 time.sleep(1) pyautogui.write('sudo deepin-secure-controls disable', interval=0.1) pyautogui.press('enter') time.sleep(1) pyautogui.write('your_sudo_password', interval=0.1) pyautogui.press('enter') time.sleep(2) # 浏览器初始化函数 def init_browser(browser_type="chrome"): """初始化浏览器并返回 driver 对象""" options = None if browser_type.lower() == "chrome": options = webdriver.ChromeOptions() options.add_argument("--disable-infobars") options.add_argument("--disable-notifications") options.add_argument("--disable-gpu") options.add_argument("--no-sandbox") options.add_argument("--disable-dev-shm-usage") # UOS 特定路径 options.binary_location = "/opt/google/chrome/google-chrome" driver = webdriver.Chrome( executable_path="/usr/bin/chromedriver", options=options ) elif browser_type.lower() == "firefox": options = webdriver.FirefoxOptions() options.binary_location = "/opt/firefox/firefox" driver = webdriver.Firefox( executable_path="/usr/bin/geckodriver", options=options ) else: raise ValueError("不支持的浏览器类型") driver.maximize_window() return driver # 网页测试主流程 def run_web_test(url, test_steps): """执行网页自动化测试""" driver = init_browser("chrome") try: # 访问目标网页 driver.get(url) print(f"已访问: {driver.current_url}") # 执行测试步骤 for step in test_steps: element = WebDriverWait(driver, 10).until( EC.presence_of_element_located((step['by'], step['locator'])) ) if step['action'] == 'click': element.click() print(f"点击元素: {step['locator']}") elif step['action'] == 'input': element.clear() element.send_keys(step['text']) print(f"输入文本: {step['text']}") elif step['action'] == 'press_key': element.send_keys(getattr(Keys, step['key'])) print(f"按下按键: {step['key']}") elif step['action'] == 'screenshot': driver.save_screenshot(step['filename']) print(f"截图保存至: {step['filename']}") time.sleep(step.get('delay', 0.5)) except Exception as e: driver.save_screenshot("error_screenshot.png") print(f"测试失败: {str(e)}") finally: driver.quit() print("浏览器已关闭") # 测试配置 if __name__ == "__main__": # 配置 UOS 环境 configure_uos_environment() # 定义测试步骤 test_steps = [ {'by': By.ID, 'locator': 'kw', 'action': 'input', 'text': 'UOS 自动化测试'}, {'by': By.ID, 'locator': 'su', 'action': 'click', 'delay': 1}, {'by': By.PARTIAL_LINK_TEXT, 'locator': '统信', 'action': 'click', 'delay': 2}, {'action': 'screenshot', 'filename': 'uos_page.png'}, {'by': By.TAG_NAME, 'locator': 'body', 'action': 'press_key', 'key': 'PAGE_DOWN', 'delay': 1} ] # 执行测试 run_web_test("https://www.baidu.com", test_steps) # 恢复安全设置 subprocess.run(["sudo", "deepin-secure-controls", "enable"], check=True) print("UOS 安全控制已恢复") ``` ### 关键组件说明 1. **UOS 环境配置** - 自动禁用 `deepin-secure-controls` 安全功能 - 提供命令行和 GUI 两种禁用方式 - 测试完成后自动恢复安全设置 2. **浏览器初始化** - 支持 Chrome 和 Firefox - 指定 UOS 系统中浏览器的特定路径 - 优化浏览器选项避免常见问题 3. **测试流程控制** - 结构化测试步骤定义 - 智能等待元素加载 - 自动错误捕获和截图 - 操作延迟控制 4. **混合操作模式** - Selenium 用于网页元素操作 - PyAutoGUI 用于系统级操作 - 键盘快捷键处理 ### 最佳实践建议 1. **安全密码管理** 使用密钥管理服务替代硬编码密码: ```python import keyring password = keyring.get_password("uos_auto", "test_user") ``` 2. **跨浏览器测试** ```python browsers = ["chrome", "firefox"] for browser in browsers: run_web_test("https://example.com", test_steps, browser) ``` 3. **页面对象模式** 创建可复用的页面类: ```python class LoginPage: def __init__(self, driver): self.driver = driver def enter_credentials(self, username, password): self.driver.find_element(By.ID, "username").send_keys(username) self.driver.find_element(By.ID, "password").send_keys(password) def submit(self): self.driver.find_element(By.ID, "login-btn").click() ``` 4. **CI/CD 集成** 添加 pytest 测试框架支持: ```python import pytest @pytest.mark.parametrize("test_data", test_data_sets) def test_search_function(test_data): steps = [/* 根据 test_data 生成步骤 */] assert run_web_test(test_data["url"], steps) ``` ### 常见问题处理 1. **证书错误处理** ```python options.add_argument("--ignore-certificate-errors") ``` 2. **弹窗处理** ```python alert = driver.switch_to.alert alert.accept() # 或 alert.dismiss() ``` 3. **iframe 切换** ```python driver.switch_to.frame("frame_name") # 操作元素 driver.switch_to.default_content() ``` 4. **文件下载** ```python options.add_experimental_option("prefs", { "download.default_directory": "/path/to/downloads", "download.prompt_for_download": False }) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值