Selenium模拟浏览器访问

article/2025/11/4 8:26:07

目录

一、selenium简介

 1.1、什么是selenium

 1.2、为什么使用selenium

 1.3、安装selenium

  1.3.1、谷歌浏览器驱动下载

  1.3.2、谷歌驱动和谷歌浏览器版本之间的映射表

  1.3.3、查看谷歌浏览器版本

  1.3.4、安装selenium库

二、selenium的使用

 2.1、selenium的使用步骤

 2.2、举例

三、selenium元素操作

 3.1、selenium的元素定位

 3.2、selenium访问元素信息

 3.3、selenium交互

四、无界面浏览器 handless

 4.1、handless基本配置——生成浏览器对象

 4.2、handless 封装


一、selenium简介

 1.1、什么是selenium

(1)selenium是一个用于Web应用程序测试的工具。

(2)selenium测试直接运行在浏览器中,就像真正的用户在操作一样。

(3)支持通过各种driver(FirfoxDriver,IternetExplorerDriver,OperaDriver,ChromeDriver)驱动真正的浏览器完成测试。

(4)selenium支持无界面浏览器操作。

 1.2、为什么使用selenium

        模拟浏览器功能,自动执行网页中的js代码,实现动态加载。

 1.3、安装selenium

  1.3.1、谷歌浏览器驱动下载

        1》下载地址:http://chromedriver.storage.googleapis.com/index.html

         2》windows(32/64)均下载win32.zip即可

         3》下载后解压:得到chromedriver.exe

          4》将chromedriver.exe文件放置在python程序中即可

  1.3.2、谷歌驱动和谷歌浏览器版本之间的映射表

selenium之 chromedriver与chrome版本映射表(更新至v2.46)_huilan_same的博客-CSDN博客_chromedriver版本更多关于python selenium的文章,请关注我的专栏:Python Selenium自动化测试详解看到网上基本没有最新的chromedriver与chrome的对应关系表,便兴起整理了一份如下,希望对大家有用: chromedriver版本 支持的Chrome版本 v2.37 v64-66 v2.36 v63-65 v2.3...https://blog.csdn.net/huilan_same/article/details/51896672

  1.3.3、查看谷歌浏览器版本

  1.3.4、安装selenium库

二、selenium的使用

 2.1、selenium的使用步骤

(1)导入:from selenium import webdriver

(2)创建谷歌浏览器操作对象:

        path = 谷歌浏览器驱动文件路径

        browser = webdriver.Chrome(path)

(3)访问网址

        url = 要访问的网址

        browser.get(url)

 2.2、举例

# (1)导入selenium
from selenium import webdriver# (2)创建浏览器操作对象(导入浏览器驱动)
path = 'chromedriver.exe'browser = webdriver.Chrome(path)# (3)访问网站
url = 'https://www.baidu.com/'urlJd = 'https://www.jd.com/'# 模拟浏览器访问网址
browser.get(urlJd)# 获取网页源码
content = browser.page_source
print(content)

 

三、selenium元素操作

 3.1、selenium的元素定位

   元素定位:模拟鼠标和键盘操作元素,实现点击、输入等操作。操作元素之前需要先对其进行定位,webDriver提供了多种元素定位的方法。

# 元素定位(根据标签属性的属性值获取对象)
# find_element  返回对象
# find_elements 返回对象列表# 根据id返回对象
button1 = browser.find_element(by=By.ID, value='su')# 根据标签属性的属性值返回对象
button2 = browser.find_element(by=By.NAME, value='wd')# 根据xpath返回对象
button3 = browser.find_element(by=By.XPATH, value='//input[@id="su"]')# 根据标签的名字获取对象
button4 = browser.find_elements(by=By.TAG_NAME, value='input')# 根据bs4的语法,获取对象
button5 = browser.find_element(by=By.CSS_SELECTOR, value='#su')# 获取当前页面中的链接文本
button6 = browser.find_element(by=By.LINK_TEXT, value='地图')

 3.2、selenium访问元素信息

        1)获取标签属性值

         2)获取标签名

         3)获取元素文本

from selenium import webdriver
from selenium.webdriver.common.by import Bypath = 'chromedriver.exe'browser = webdriver.Chrome(path)url = 'https://www.baidu.com'browser.get(url)input = browser.find_element(by=By.ID, value='su')# 1、获取标签的属性值
print(input.get_attribute('class'))# 2、获取标签名
print(input.tag_name)# 3、获取元素文本
a = browser.find_element(by=By.LINK_TEXT, value='新闻')
print(a.text)

 3.3、selenium交互

        

from selenium import webdriver
from selenium.webdriver.common.by import By
import time# 创建浏览器对象
path = 'chromedriver.exe'browser = webdriver.Chrome(path)# url
url = 'https://www.baidu.com'browser.get(url)time.sleep(2)# 获取文本框的对象
input = browser.find_element(by=By.ID, value='kw')# 在文本框中输入内容
input.send_keys('周杰伦')
time.sleep(2)# 获取百度一下的按钮
button = browser.find_element(by=By.ID, value='su')# 点击按钮
button.click()
time.sleep(2)# 划到页面底部
js_bottom = 'document.documentElement.scrollTop=100000'
browser.execute_script(js_bottom)
time.sleep(2)# 获取下一页的按钮
next = browser.find_element(by=By.XPATH, value='//a[@class="n"]')# 点击下一页
next.click()
time.sleep(2)# 回到上一页
browser.back()
time.sleep(2)# 回去
browser.forward()
time.sleep(3)# 退出
browser.quit()

四、无界面浏览器 handless

        Chrome-handless 模式,Google针对Chrome浏览器 59版 新增加一种模式,可以在不打开UI界面的情况下使用 Chrome 浏览器,但是其运行效果与 Chrome 保持一致。

 4.1、handless基本配置——生成浏览器对象

from selenium import webdriver
from selenium.webdriver.chrome.options import Optionschrome_options = Options()
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')# path是chrome浏览器的文件路径
path = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
chrome_options.binary_location = pathbrowser = webdriver.Chrome(chrome_options=chrome_options)

 4.2、handless 封装

from selenium import webdriver
from selenium.webdriver.chrome.options import Optionsdef share_browser():chrome_options = Options()chrome_options.add_argument('--headless')chrome_options.add_argument('--disable-gpu')# path是chrome浏览器的文件路径path = r'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'chrome_options.binary_location = pathbrowser = webdriver.Chrome(chrome_options=chrome_options)return browserbrowser = share_browser()
url = 'https://www.baidu.com'
browser.get(url)


http://chatgpt.dhexx.cn/article/8m1mYsnb.shtml

相关文章

浏览器禁止访问某个网站

浏览器要禁止访问某个网站,可以在电脑中打开 C:\Windows\System32\drivers\etc这个位置,找到hosts文件。 将需要禁止访问的网址输入,并在前面加上127.0.0.1即可。 如图所示。然后关闭保存。

如何通过浏览器访问本地电脑文件

如何通过浏览器访问本地电脑文件 首先,打开控制面板,找到"程序"点击打开。 找到“启用或关闭windows功能”,点击打开 找到“Internet Information Services”(Internet信息服务),将它的子项及子项的子项全部勾选&…

浏览器访问网址过程详解

前言 首先要了解几个参数的含义: IP地址:是指互联网协议地址。 子网掩码:子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位…

【无标题】浏览器是如何访问的? 超详细解析过程

浏览器分析链接指向网页的URL。浏览器向DNS请求解析 URL 的 IP 地址。域名系统DNS 解析出 URL 的 IP 地址。浏览器与服务器建立 TCP 连接。浏览器发出取文件命令:GET/chn/yxsz/index.htm。服务器(URL所在)给出响应,把文件 index.h…

Linux命令学习---查看linux服务器,开机启动的服务,正在运行的服务,监听检查,防火墙检查,SSH检查

1)查看linux服务器,开机启动的服务,输入以下命令 systemctl list-unit-files --stateenabled2)查看linux服务器,正在运行的服务: systemctl --typeservice --staterunning --all3)监听检查 ss…

c#如何在linux上运行程序,在Linux上运行C#的方法是什么

Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。有时我们需要在Linux上编写程序,那么c#在Linux中想要运行需要什么呢?这篇文章主要介绍了在Linux上运行C#的方法, 下面就来看看如何在Linux上运行Mono。 命令行应用 先从Mono主页(http://www.go-…

Linux系统查看磁盘可用空间的5个命令

大家好,我是良许。 工作中,经常会遇到磁盘爆满的情况,尤其是一台服务器运行了 N 年之后,里面会充满各种各样垃圾文件,比如:编译产生的中间文件、打包的镜像文件、日志文件,等等。 别问我怎么知…

Linux如何运行exe驱动,在Linux下可用Wine安装和运行360驱动大师、CCleaner

在Linux操作系统下可用Wine安装和运行360驱动大师、CCleaner.exe文件,它们是Windows下的软件,在Linux中借助Wine就可以使用360驱动大师和CCleaner了,已亲测有效。 说明 1、如果有原生的Linux软件,请不要用Wine来运行,因…

服务器被攻击 显示503,在Linux服务器下出现503服务不可用错误的原因和排除方法...

本文介绍在Linux服务器下出现503服务不可用错误(503 Service Unavailable Error)的原因和排除方法。内容有:什么是HTTP 503错误、对500错误进行故障排除。 前言 浏览网页时最常见的错误之一是“503服务不可用错误(503 Service Unavailable Error)”,此消息表明网络服务器遇到…

在线运行 Linux,真滴牛逼。

作者:JackTian 来源:公众号「杰哥的IT之旅」 ID:Jake_Internet 转载请联系授权(微信ID:Hc220088) 原文地址:在线运行 Linux,强的离谱! 大家好,我是杰哥。 对…

什么是 503 服务不可用错误?

浏览网页时最常见的错误之一是“503 服务不可用错误”,此消息表明 Web 服务器遇到技术问题并且无法处理请求。 本文将介绍 503 错误的含义、收到 HTTP 503 代码的原因以及如何解决这些错误。 什么是 HTTP 503 错误 当您打开网页时,您的浏览器会向托管…

在linux下安装配置ssh服务

一、 实验题目: linux环境下的部分配置 二、 理论分析 SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会…

Linux的dhcp服务器

准备工作 1.CentOS 7作为服务器 CentOS 7作为客户机 2.先将虚拟机上的DHCP服务器和客户机的网络连接设置为仅主机模式(为了更好的模拟生产服务器) 2.打开虚拟网络编辑器,将仅主机模式下的"使用本地DHCP服务器IP地址分配给虚拟机"…

mac上实时运行linux系统,在Linux操作系统上可用Darling来运行macOS软件

本文介绍一款适用于Linux的macOS转换层工具Darling,用它可让您在Linux操作系统上运行macOS软件。 介绍 1、快速 Darling无需使用硬件仿真器即可直接运行macOS软件。 2、自由 与Linux一样,Darling是免费的开源软件,它在GitHub上公开开发&#…

网络诊断显示“DNS服务器可能不可用”

首先提供我的解决方法: 1、遇到这种情况,先重启电脑试一试,或者把ADSL猫和路由器都重启一下。如果还不行,进入网络共享中心的网络连接窗口,选择本地连接,右键,选择【属性】,如果用的…

linux运行直播软件,在Linux下可用Wine安装和运行虎牙直播、斗鱼直播

在Linux操作系统下可用Wine安装和运行虎牙直播、斗鱼直播.exe文件,它们是Windows下的软件,在Linux中借助Wine就可以使用虎牙直播和斗鱼直播了,已亲测有效。 说明 1、如果有原生的Linux软件,请不要用Wine来运行,因为在这…

linux查服务器总内存大小,怎么查看linux中的可用内存大小

怎么查看linux中的可用内存大小 发布时间:2020-06-16 13:28:33 来源:亿速云 阅读:620 作者:鸽子 作为Linux用户,特别是管理员,我们需要检查系统使用多少内存资源以及有多少内存资源是空闲的。由于最重要的是要检查服务器上的内存资源,因此最好学习可以帮助我们进行服务器…

Linux下搭建SVN服务器【亲测可用】

Linux下搭建SVN服务器 简介第一步:通过yum命令安装svnserve,命令如下:第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)第三步:创建svn版本库第四步:配置…

Linux 运维知识梳理(6)高可用服务

一、高可用介绍 1、HA 高可用 ​高可用 HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指通过设计,减少系统服务不可用的时间。假设系统一直能够提供服务,我们说系统的可用性是 100%。如果…

批量去除PDF的水印(完全免费)

在这里给大家推荐一款好用的软件,帮助去除PDF的水印 具体步骤: 1.选择一个PDF,并将想要删除的水印添加到水印待去除列表 2.点击下一步,便可生成相应的文件,保存即可