首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【教程】Selenium入门配置和使用

【教程】Selenium入门配置和使用

作者头像
用户10984773
发布2025-07-03 08:17:38
发布2025-07-03 08:17:38
61700
代码可运行
举报
运行总次数:0
代码可运行

环境安装

代码语言:javascript
代码运行次数:0
运行
复制
pip install selenium

支持搭配的web-driver:phantomjs(无头)、chrome(常用)、le、firefox……

针对chrome下载webdriver

查看chrome版本,下载相应的跨平台 Chrome 测试版

下载地址:https://googlechromelabs.github.io/chrome-for-testing/#stable

win64电脑可直接下载win64对应版本,其他平台使用其他下载链接即可。

下载后,文件夹解压后记好文件地址,我的是:C:\Users\16493\chrome-win64

配置环境变量

进入到环境变量后,找到系统变量 → Path,在下方点击编辑

图片
图片

点击新建,将刚刚记住的文件地址复制进去。

图片
图片
图片
图片

基础用法

对页面进行操作

初始化浏览器对象

也可以指定绝对路径来启动特定的chrome

代码语言:javascript
代码运行次数:0
运行
复制
from selenium import webdriver
# 初始化浏览器为chrome浏览器
browser = webdriver.Chrome()
# 指定绝对路径的方式(可选)
path = r'填入自己的chromedriver路径'
browser = webdriver.Chrome(path)
# 关闭浏览器
browser.close()
访问页面
代码语言:javascript
代码运行次数:0
运行
复制
from selenium import webdriver
# 初始化浏览器为chrome浏览器
browser = webdriver.Chrome()
# 访问百度首页
browser.get(r'https://www.baidu.com/')
# 关闭浏览器
browser.close()
设置浏览器大小

set_window_size()用来设置浏览器大小,如果想要全屏,可以直接使用以下方式:

代码语言:javascript
代码运行次数:0
运行
复制
from selenium import webdriver
# 初始化浏览器为chrome浏览器
driver = webdriver.Chrome()
# 将浏览器设置为全屏
driver.maximize_window()
代码语言:javascript
代码运行次数:0
运行
复制
from selenium import webdriver
import time  

browser = webdriver.Chrome()

# 设置浏览器大小:全屏
browser.maximize_window()   
browser.get('https://www.baidu.com')  
time.sleep()

# 设置分辨率 500*500
browser.set_window_size(,)  
time.sleep()

# 关闭浏览器
browser.close()
获取页面基础属性

当使用selenium打开网页后,可以获取到基础的网页信息

代码语言:javascript
代码运行次数:0
运行
复制
from selenium import webdriver

browser = webdriver.Chrome()
browser.get('https://www.baidu.com') 

# 网页标题
print(browser.title)
# 当前网址
print(browser.current_url)
# 浏览器名称
print(browser.name)
# 网页源码
print(browser.page_source)
图片
图片

定位页面元素

属性

函数

CLASS

find_element(by=By.CLASS_NAME, value=‘’)

XPATH

find_element(by=By.XPATH, value=‘’)

LINK_TEXT

find_element(by=By.LINK_TEXT, value=‘’)

PARTIAL_LINK_TEXT

find_element(by=By.PARTIAL_LINK_TEXT, value=‘’)

TAG

find_element(by=By.TAG_NAME, value=‘’)

CSS

find_element(by=By.CSS_SELECTOR, value=‘’)

ID

find_element(by=By.ID, value=‘’)

基本操作一

通过捕捉到元素后,复制Xpath,填入到参数内容即可定位。

图片
图片

因此可以实现以下操作:

点击

定位到指定元素后,添加.click()即可

代码语言:javascript
代码运行次数:0
运行
复制
driver.find_element_by_xpath('填入xpath地址').click()
文本输入
代码语言:javascript
代码运行次数:0
运行
复制
driver.find_element_by_xpath('填入xpath地址').send_keys("hello")
清空文本内容
代码语言:javascript
代码运行次数:0
运行
复制
driver.find_element_by_xpath('填入xpath地址').clear()
获取文本信息
代码语言:javascript
代码运行次数:0
运行
复制
driver.find_element_by_xpath('填入xpath地址').text

如若获取不到内容,则需要实例化后进行输出即可

代码语言:javascript
代码运行次数:0
运行
复制
response = driver.find_element_by_xpath('填入xpath地址').text
print = (response)
基本操作二
无界面启动

一般启动均为有界面启动,方便调试。以下为无界面启动讲解:

方式一:

代码语言:javascript
代码运行次数:0
运行
复制
start_option = webdriver.ChromeOptions()
start_option.add_argument('--headless')
start_option.add_argument('--disable-gpu')
driver = webdriver.Chrome(options=start_option)

方式二:

代码语言:javascript
代码运行次数:0
运行
复制
start_option = webdriver.ChromeOptions()
start_option.headless = True
browser = webdriver.Chrome(options=start_option)

无界面启动的优点是省去了一些杂乱的启动画面,相当于在后台运行操作浏览器。同时缺点就是不利于编译和维护,只适用独立下载的浏览器驱动。

基本操作三
等待方式

强制等待:可以直接使用time下的sleep

隐式等待:告诉Web驱动程序在它报错之前等待一定的时间。默认设置为0。一旦设置了时间,Web驱动程序将在抛出异常之前等待该时间。

代码语言:javascript
代码运行次数:0
运行
复制
driver.implicitly_wait()

隐式等待是全局生效的,隐式等待值的设置对 WebDriver 的整个生命周期有效,所以只要设置一次即可,不需要像time.sleep() 在每个地方都进行设置。

显式等待:显示等待会查找是否有name名为“kw”的元素,判断是否有name名为“bd”的元素。若是有,则执行下一步;若是没有,则等待0.5秒继续查找,直到超过了设置的最大时长然后报错。

代码语言:javascript
代码运行次数:0
运行
复制
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
url = 'https://www.baidu.com'
driver.get(url)
try:
    element = WebDriverWait(driver,).until(EC.presence_of_element_located((By.NAME, 'bd')))
    print('成功找到')
finally:
    print('未找到指定元素')
    driver.quit()
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-06-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 盼望星辰 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境安装
  • 针对chrome下载webdriver
  • 配置环境变量
  • 基础用法
    • 对页面进行操作
      • 初始化浏览器对象
      • 访问页面
      • 设置浏览器大小
      • 获取页面基础属性
    • 定位页面元素
      • 基本操作一
      • 基本操作二
      • 基本操作三
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档