当前位置:首页>python>python web自动化操作之Selenium使用

python web自动化操作之Selenium使用

  • 2026-08-27 15:28:32
python web自动化操作之Selenium使用

Selenium可以做简单的web页面自动化处理,比如打开一个web页面,在对应输入框输入内容并提交等,算是一款web自动化工具了

前几天接触了一下,感觉挺好玩的,支持Python、Java、JavaScript等工具调用

浅度用了几天(每天工作事儿太多了),这里用一个例子说明一下Selenium的使用

说一下脚本实现的内容:用Selenium打开bing.com,并填充需要搜索的内容,提交并打开一个搜索结果(页面跳转)

我这里用的是python哈,对于python来说,Selenium的安装很简单直接,pip直接install Selenium就行

Selenium需要浏览器支持,chrome国内插件在这里:https://repo.huaweicloud.com/chromedriver/,根据自己chrome的版本下载对应压缩包,并解压到python的环境里,比如我PATH里定义的python第三方工具目录为C:\Users\Eric\AppData\Local\Programs\Python\Python311\Scripts,上边下载的压缩包,解压有chromedriver.exe和LICENSE.chromedriver,将这俩文件拷贝到Scripts下就行

可以用如下python代码验证插件是否安装成功:

from selenium import webdriver

driver = webdriver.Chrome()

上述操作如果能打开本地chrome浏览器,那就说明插件安装好了,就能用python和chrome交互了

ok,我们继续!

我直接贴代码吧,后边再解释

#!/usr/bin/env python3

# coding=gbk

#

#  bingSearch.py

#  

#  Copyright 2026 Eric <13641252229@139.com>

#  

import sys

from selenium import webdriver

from selenium.webdriver.common.by import By

from selenium.webdriver.common.keys import Keys

import random

import json

import time

def websearch(v_searchstr='北京今日天气'):

    url='https://cn.bing.com/'

    options = webdriver.ChromeOptions()

    options.add_experimental_option("useAutomationExtension", False)

    options.add_experimental_option("excludeSwitches", ["enable-automation"])

    driver = webdriver.Chrome(options=options)

    driver.get(url)

    print("系统打开中...")

    time.sleep(5)

    v_element = driver.find_element(By.ID, "sb_form_q")

    v_element.clear()

    v_element.send_keys(v_searchstr)

    v_element.send_keys(Keys.ENTER)

    time.sleep(5)

    v_result = driver.find_element(By.ID, "b_results")

    v_elements = v_result.find_elements(By.TAG_NAME, "a")

    v_rand=random.randint(1, 10)

    print(v_elements[v_rand].text)

    v_elements[v_rand].click()

    print('随机搜索链接页面打开中...')

    time.sleep(10)

    driver.quit()

def main(args):

    print('--------python模拟web页面类操作示例---------')

    print('--------https://cn.bing.com/搜索示例-------')

    v_use=input("请输入搜索内容(默认:'查北京天气'):")

    if v_use:

        websearch(v_use)

    else:

        websearch('北京今日天气')

    return 0

if __name__ == '__main__':

    sys.exit(main(sys.argv[1:]))

运行没法截图了,大家看我上传的这个视频吧,可以看到我全程什么也没操作,main函数里输入想要查找的关键字(回车默认了一个添加查询的关键字),然后python去调用本机chrome,并在查找框填充查找的关键字-->页面提交搜索-->并在搜索结果里随机点开一个结果链接-->打开新页面

大概这么一个实现逻辑:webdriver打开chrome后,用get方法打开一个web地址,然后用find_element方法查到到需要的页面的元素,并模拟这些页面元素的一些操作(填充、提交、点击等),然后等待新页面加载,再提取页面元素并做后续处理

注意哈,页面的打开、跳转等都需要等待一会儿时间,实际可以根据自身网络&硬件配置更改sleep的时长

这里是一个简单的示例,selenium的使用方法,大家可以去官网看看:https://www.selenium.dev/zh-cn/documentation/ ,什么查询器、交互、定位器、信息、文件上传挺多功能的

感觉,如果这个工具用好了,是不是我们就能做一些web页面的自动化操作了啊

大家觉得怎么样,有应用前景没?

最新文章

随机文章