selenium2023最全攻略(元素操作,浏览器操作等)附完整代码!

selenium的11种基础操作(元素的定位、操作,浏览器的打开、管理、处理、代理、加载,键盘操作) * 使用selenium自动化测试工具,模拟人为操作浏览器,达到可以注册/登录网页,滑动下拉框,选择,鼠标点击等操作。一旦通过ID定位到了cheese,可以在上一步结果的基础上进一步缩小范围。本地html文件file:///race_condition.html。windows系统,python语言,PyCharm。在定位到想要的元素后,可以使用以下方法定位到相邻的元素。是最重要的学习内容之一,学习如何定位到网页中的元素。从浏览器的地址栏读取当前的URL。定位cheese下的所有元素。 阅读详情

一、元素操作方法

方法:
1、.send_keys() # 输入方法
2、.click() # 点击方法
3、.clear() # 清空方法

注意:在输入方法之前一定要清空操作!!

# 导包
from time import sleep
from selenium import webdriver
# 实例化浏览器
driver = webdriver.Chrome()
# 打开网址
driver.get('https://www.baidu.com/')
# 需求
ele = driver.find_element_by_css_selector('#kw')
ele.send_keys('易烊千玺')
sleep(2)
# 清空
ele.clear()
ele.send_keys('王嘉尔')
# 时间轴看效果
sleep(3)
# 关闭页面
driver.quit()

浏览器清除

二、浏览器操作方法

常用的浏览器操作系统API

# 方法
"""
1、driver.maximize_window() # 最大化浏览器
2、driver.set_window_size(w,h) # 设置浏览器大小 单位像素 【了解】
3、driver.set_window_position(x,y) # 设置浏览器位置 【了解】
4、driver.back() # 后退操作
5、driver.forward() # 前进操作
6、driver.refrensh() # 刷新操作
7、driver.close() # 关闭当前主窗口(主窗口:默认启动那个界面,就是主窗口)
8、driver.quit() # 关闭driver对象启动的全部页面
9、driver.title # 获取当前页面title信息
10、driver.current_url # 获取当前页面url信息
"""

"""
应用:driver.maximize_windows() # 窗口最大化
driver.set_window_size(w,h) # 设置浏览器大小 【了解】
driver.set_window_position(x,y) # 设置浏览器窗口位置 【了解】
"""
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
# 窗口最大化
driver.maximize_window()
sleep(1)
# 设置浏览器宽,高 【了解】
driver.set_window_size(1000, 1000)
sleep(1)
# 设置窗口浏览器位置 【了解】
driver.set_window_position(200, 200)
sleep(3)
driver.quit()

浏览器位置切换

"""
driver.back()
driver.forward()
driver.refresh()
"""
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.sogou.com/')
driver.find_element_by_css_selector('#query').send_keys('易烊千玺')
driver.find_element_by_id('stb').click()
sleep(2)
# 后退
driver.back()
sleep(2)
# 前进
driver.forward()
sleep(2)
# 刷新
driver.refresh()
sleep(3)
driver.quit()

"""
driver.close() # 关闭当前主窗口,默认启动的界面就是主窗口
driver.quit() # 关闭全部页面
driver.title # 获取页面标题
driver.current_url # 获取页面地址
"""
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.sogou.com/')
driver.find_element_by_link_text('图片').click()
# 这两个属性可以用来做断言使用
print("当前页面标题:", driver.title)
print("当前页面的url:", driver.current_url)
# 这里关闭的是原始页面,而不是新的页面,只有完成页面切换才可以关闭新的页面
# 场景:关闭单个页面使用
driver.close()
sleep(3)
# 关闭浏览器驱动对象的所有页面
driver.quit()

注意:driver.close() ,当前关闭的是主窗口,只有完成页面切换才可以关闭当前新的页面

提示:

1、driver.title 和 drivet.current_url是属性没有括号。应用场景:一般判断上不操作是否执行成功。

2、driver.maximize_window() 一般为前置代码放到获取driver地址后,进行浏览器窗口的最大化

3、driver.refresh() 向浏览器重新发出请求,刷新页面,在cookie 会用到

4、driver.close() 和 driver.quit() 的区别:

close():关闭当前主窗口

quit():关闭由driver对象启动的所有页面

如果只有一个窗口那么quit()和 close()没有区别。

三、获取元素信息操作

常用元素信息操作API

"""
方法:
1、text 获取元素的文本; 如:driver.text
2、size 获取元素的大小: 如:driver.size
3、get_attribute 获取元素属性值;如:driver.get_attribute("id") ,传递的参数是元素的属性名
4、is_displayed 判断元素是否可见 如:element.is_displayed()
5、is_enabled 判断元素是否可用 如:element.is_enabled()
6、is_selected 判断元素是否被选中 如:element.is_selected()
"""

"""
text 获取元素文本 ,没有()
size 获取元素大小 ,没有()
get_attribute("属性名") 获取的是属性值
"""
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.sogou.com/')
ele = driver.find_element_by_id('query')
print("目标元素尺寸:", ele.size)
new_ele = driver.find_element_by_id('hanyu')
print("目标元素文本:", new_ele.text)
link = driver.find_element_by_link_text("图片")
print("目标元素属性值:", link.get_attribute('id'))
sleep(3)
# 关闭浏览器驱动对象的所有页面
driver.quit()

"""
is_displayed() 判断元素是否可见,如:element.is_displayed
is_enabled() 判断元素是否可用, 如:element.is_enabled
is_selected() 判断元素是否被选中,如:element.is_selected
"""
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('file:///D:/%E6%A1%8C%E9%9D%A2/page/%E6%B3%A8%E5%86%8CA.html')
# 判断元素是否可见,不可见并不代表不能定位
span = driver.find_element_by_name('sp1')
print("元素是否可见:", span.is_displayed())
btn = driver.find_element_by_id('cancelA')
print("元素是否可用:", btn.is_enabled())
check = driver.find_element_by_id('lia')
print("元素是否被选中:", check.is_selected())
sleep(3)
# 关闭浏览器驱动对象的所有页面
driver.quit()

注意:里面的返回的结果都是True 和 False。

四、鼠标操作 (需要实例化鼠标对象)

1、我们有了鼠标为什么还要使用鼠标操作??

为了满足丰富的html鼠标效果,必须使用对应的方法。

2、鼠标时间对应的方法在那个类中?

​ ActionChains类,实例化 鼠标对象

导包:

from selenium.webdriver.common.action_chains import ActionChains

3、鼠标事件常用的操作 ☆

"""
1、context_click(element) # 右击
2、double_click(element) #双击
3、double_and_drop(source, target) # 拖拽
4、move_to_element(element) # 悬停 【重点】
5、perform() # 执行以上事件的方法 【重点】
"""

4.1 鼠标右键及双击

"""
鼠标操作:
context_click() 右键
double_click() 鼠标双击
"""
from time import sleep
from selenium import webdriver
from selenium.webdriver import ActionChains
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
# 定位目标
ele = driver.find_element_by_id('kw')
# 实例化 鼠标对象
action = ActionChains(driver)、
# 鼠标右键
action.context_click(ele)
# 鼠标双击
action.double_click(ele)
# 鼠标执行操作!!!不执行没效果
action.perform()
sleep(3)
driver.quit()

4.2 鼠标拖拽

"""
鼠标操作:
# 鼠标拖拽
action.drag_and_drop(source, target)
"""
from time import sleep
from selenium import webdriver
from selenium.webdriver import ActionChains
driver = webdriver.Chrome()
driver.get('file:///D:/%E6%A1%8C%E9%9D%A2/page/drag.html')
red = driver.find_element_by_xpath('//*[@id="div1"]')
blue = driver.find_element_by_xpath('//*[@id="div2"]')
# 实例化鼠标
action = ActionChains(driver)
# 鼠标拖拽
action.drag_and_drop(red, blue)
# 鼠标执行
action.perform()
sleep(3)
driver.quit()

4.3 鼠标悬停 【重点】

"""
鼠标操作:
# 鼠标悬停 【重点】
action.move_to_element(element)
"""
from time import sleep
from selenium import webdriver
from selenium.webdriver import ActionChains
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.maximize_window()
ele = driver.find_element_by_id('s-usersetting-top')
# 实例化鼠标
action = ActionChains(driver)
# 鼠标悬停
action.move_to_element(ele)
# 鼠标执行
action.perform()
sleep(3)
driver.quit()

注意: selenium 框架虽然提供了 鼠标右键方法,但是没有提供选择右键菜单方法,可以通过键盘快捷键操作实现

五、键盘操作(不需要实例化对象)☆

1、说明:键盘对应的方法在Keys类中

# 包
from selenium.webdriver.common.keys import Keys

2、快捷键(这里只讲windows操作系统的快捷键):

​ CONTROL: Ctrl键

​ BACK_SPACE : 等价于 BACKSPACE (删除)

​ 其他:可以藏奥Keys底层的定义

3、应用

# 单键
element.send_keys(Keys.XXX)
# 组合键
element.send_keys(Keys.XXX, 'a') # 注意这里的组合键都是小写

"""
键盘操作
"""
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
ele = driver.find_element_by_id('kw')
ele.send_keys('易烊千玺')
sleep(1)
ele.send_keys(Keys.BACK_SPACE)
sleep(1)
# 组合键 Ctrl + a 全选 ,注意这里的组合键都是小写
ele.send_keys(Keys.CONTROL, 'a')
sleep(1)
ele.send_keys(Keys.CONTROL, 'x')
sleep(1)
ele.send_keys(Keys.CONTROL, 'v')
sleep(3)
driver.quit()

六、元素等待

1、为什么要设置元素等待

​ 由于电脑配置或网络原因,在查找元素时,元素代码未在第一时间内被加载出来,而抛出未找到元素异常。

2、什么是元素等待

​ 元素在第一次未找到时,元素等待设置的时长被激活,如果在设置的有效时长内找到元素,继续执行代码,如果超出设置的时长未找打元素,抛出未找到元素异常。

3、元素等待分类

​ 隐式等待:针对全局元素生效;(讲这个)

​ 显示等待:稍微麻烦,有兴趣的可以下去了解,他是针对单个元素生效。

隐式等待方法:

driver.implicitly_wait(30) # 一般情况下设置30秒

​ 特色:

1. 针对所有元素生效。
2. 一般情况下为前置必写代码(1.获取浏览器驱动对象;2. 最大化浏览器;3. 设置隐式等待)

"""
隐式等待
"""
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
# 1、获取浏览器驱动对象
driver.get('file:///D:/%E6%A1%8C%E9%9D%A2/page/%E6%B3%A8%E5%86%8CA%E7%AD%89%E5%BE%85.html')
# 2、窗口最大化
driver.maximize_window()
# 3、设置隐式等待
driver.implicitly_wait(30)
ele = driver.find_element_by_id('userA')
ele.send_keys('admin')
sleep(3)
driver.quit()

七、下拉框(需要实例化下拉框)

1、为什么单独使用下拉框?

​ 1)、如果option选项没有value值的化,css定位或其他定位就不太方便。

2、使用Select类

​ 1)、导包:from
selenium.webdriver.support.select improt Select

​ 2)、实例化下拉框:s = Select(element)

​ 3)、调用方法:s.select_by_index()索引从0开始

3、Select类提供的方法

​ 1)、select_by_index() # 通过索引定位

​ 2)、select _by_value() # 通过value值

​ 3)、select_by_visible_text() # 显示文本

"""
Select类方法:
需要实例化下拉框元素定位
"""
from time import sleep
from selenium import webdriver
from selenium.webdriver.support.select import Select
driver = webdriver.Chrome()
driver.get('file:///D:/%E6%A1%8C%E9%9D%A2/page/%E6%B3%A8%E5%86%8CA.html')
ele = driver.find_element_by_id('selectA')
# 实例化下拉框
s = Select(ele)
# index 索引方法
s.select_by_index(1)
sleep(1)
# value 属性值选择目标元素
s.select_by_value('sz')
sleep(1)
# text 采用文本的方式选择目标信息
s.select_by_visible_text('A北京')
sleep(3)
driver.quit()

八、弹出框

1、为什么要处理弹出框?

​ 一旦出现弹出框,如果不进行处理,则后续操作不可实现

2、弹窗分类

​ 系统弹窗:JS实现

​ 自定义弹窗:前端代码封装

3、对话框的分类:

​ alert:警告框

​ confirm:确认框

​ prompt:提示框

4、如何处理

​ 系统弹窗:上面的对话框处理方式都一样;

步骤:
1、需要切换到对话框
driver.switch_to.alert
2、处理对话框
alert.text # 获取文本
alert.accept() # 接受
alert.dismiss() # 拒接

"""
系统弹窗:
切换对话框:driver.switch_to.alert
同意:alert.accept()
拒绝:alert.dismiss()
"""
from time import sleep
from selenium import webdriver
from selenium.webdriver.support.select import Select
driver = webdriver.Chrome()
driver.get('file:///D:/%E6%A1%8C%E9%9D%A2/page/%E6%B3%A8%E5%86%8CA.html')
driver.find_element_by_id('confirma').click()
# 切换对话框
alert = driver.switch_to.alert
print("文本内容是:", alert.text)
sleep(2)
# 拒绝
alert.dismiss()
# 同意
# alert.accept()
sleep(3)
driver.quit()

自定义弹窗,由于可以鼠标右击检查选项获取元素信息,所以出现自行已弹窗的时候,直接定义目标元素,并进行移除操作即可。

九、滚动条

1、为什么要是用滚动条?

​ 在一些特殊场景中,一些按钮是在页面最下角,需要使用滚动条拉到最底层。

2、操作步骤

Selenium框架中没有专门处理滚动条的方法,需要通过调用 Js 代码实现操作;

​ 1)、第一步:设置操作滚动条操作语句:js_down="window.scollTo(0,1000)"

​ > 0:为左边距-----》水平滚动条

​ > 1000: 为垂直滚动条

​ 2)、第二步:调用执行js方法,将设置js语句传入方法中

​ > 方法:driver.execute_script(js_down)

​

"""
滚动条:selenium中没有滚动条方法,需要js代码实现
1、准备js代码:"window.scrollTo(0, 1000)"
2、执行js代码:driver.execute_script(js的变量)
"""
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('file:///D:/%E6%A1%8C%E9%9D%A2/page/%E6%B3%A8%E5%86%8CA.html')
sleep(2)
# 1、准备js代码
js_down = "window.scrollTo(0, 1000)"
# 2、执行js代码
driver.execute_script(js_down)
sleep(3)
driver.quit()

十、切换frame表单 ☆

1、应用场景:

处于frame 中的元素,虽然可以获取元素信息,但是代码执行时无法定位元素,因此需要先切换到frame,再进行元素定位操作。

2、如何切换frame

方法:driver.switch_to.frame("id/name/element") 传入的是代表frame唯一的特征值

"""
frame的切换
"""
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('file:///D:/%E6%A1%8C%E9%9D%A2/page/%E6%B3%A8%E5%86%8C%E5%AE%9E%E4%BE%8B.html')
# 切换到frame
driver.switch_to.frame('idframe1')
# 在frame表单中填写信息
driver.find_element_by_id('userA').send_keys('admin')
sleep(3)
driver.quit()

10.1 连续切换frame

说明:如果要连续切换frame必须要先回到默认页面,才能够实现下一个frame的切换

回到主页面的方法:
driver.switch_to.default_content()

"""
需要默认切换到frame
方法:driver.switch_to.default_content()
"""
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('file:///D:/%E6%A1%8C%E9%9D%A2/page/%E6%B3%A8%E5%86%8C%E5%AE%9E%E4%BE%8B.html')
driver.switch_to.frame('idframe1')
driver.find_element_by_id('userA').send_keys('admin')
driver.switch_to.default_content()
driver.switch_to.frame('myframe2')
driver.find_element_by_id('userB').send_keys('admin4')
sleep(3)
driver.quit()

十一、多窗口的切换 ☆

1、为什么要切换多窗口

​ 页面是存在多窗口的,但是selenium默认焦点只会在主窗口上的所有元素,不切换窗口,就不能操作除主窗口以外的窗口内元素。

2、如何切换

每个窗口都有唯一的一个句柄值,那么我们就可以通过句柄值来完成窗口的切换操作

​ 方法:

​ 1)、
driver.current_window_handle (获取当前的句柄值)

​ 2)、driver.window_handles ( 获取当前由driver启动所有窗口句柄)

​ 3)、driver.switch_to.window(handle) —> 切换窗口

"""
多窗口切换
driver.current_window_handle 获取当前的句柄值
driver.window_handles 获取driver启动的所有窗口句柄
driver.switch_to.window(handles[-1]) 切换窗口操作
"""
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('file:///D:/%E6%A1%8C%E9%9D%A2/page/%E6%B3%A8%E5%86%8C%E5%AE%9E%E4%BE%8B.html')
driver.find_element_by_id('ZCB').click()
# 1、获取当前的句柄值
# print("当前的句柄值是:", driver.current_window_handle)
# 2、
# 1).切换窗口操作,driver.window_handles 获取driver启动的所有窗口句柄
handles = driver.window_handles
# 2).切换窗口工作
driver.switch_to.window(handles[-1])
driver.find_element_by_id('userB').send_keys('admin9')
sleep(3)
driver.quit()

注意:这里的窗口切换也对应到了 close() 方法的作用,现在使用close()就是关闭当前页面,如果还想重新操作原始页面,务必完成窗口切换。

十二、截图操作

使用的方法:

driver.get_screenshot_as_file(imgepath)

参数:

imagepath:为图片要保存的目录地址及文件名称

"""
截图:driver.get_screenshot_as_file(imgepath)
"""
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.find_element_by_xpath('//*[@id="kw"]').send_keys('易烊千玺')
# 截图方法,建议使用png格式 , ./为当前路径, ../为上一级路径
driver.get_screenshot_as_file('./info.png')
sleep(3)
driver.quit()

注意:指定图片存放的路径,需要自己手动创建文件夹

十三、验证码

1、什么是验证码?

​ 一种随机生成的信息(文字,数字,图片)

2、验证码的作用?

​ 防止恶意请求

3、验证码的处理

​ 这边讲的是cookie解决

4、使用cookie 登录

​ 客户端登录账号后,将登录状态的想关 cookie 信息发给服务器保存,再发送去请求,携带cookie信息如果跟服务器保留的一致,则服务器认为客户端是登录状态。

5、这里实现自动登录的功能

​ 1)、准备工作,在客户端登录的状态下,获取cookie字段

2、方法步骤:

1、整理cookie信息为字典数据,对应的是name和value,保存的一个变量中
2、调用方法添加cookie
driver.add_cookie(cookie变量)
# 3、刷新页面 -->发送cookie给服务器验证
driver.refresh()

cookie 的value就不给你们了,怕你们登录我的账号

"""
验证码:
{'name':'BDUSS',
'value':'............................'}
"""
from time import sleep
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
driver.maximize_window()
# 1、整理cookie信息为字典数据,对应的是name和value,保存的一个变量中
cookie_value = {'name':'BDUSS',
'value':'........................'}
# 2、调用方法添加cookie
driver.add_cookie(cookie_value)
# 3、刷新页面 -->发送cookie给服务器验证
driver.refresh()
sleep(3)
driver.quit()

演示:

        

​ 终于把Selenium 给完结了,完结撒花❀❀❀❀❀❀❀❀❀❀ ,这里面的方法都要掌握,然后可以找需求文档练习,铁汁们,觉得笔者写的不错的可以点个赞哟❤,收藏关注呗,你们支持就是我写博客最大的动力!!!!

小白爬虫——selenium入门超详细教程 Selenium是一个用于自动化测试的工具,它可以模拟用户在浏览器中的各种操作。除了用于爬虫,Selenium还可以用于测试,尤其是在处理动态加载页面时非常有用。本文将提供一个超级详细的Selenium教程,以帮助您快速入门并了解其各种功能和用法。本博客为自学python爬虫的过程贴,内容上可能存在些许错误,希望大家批评指正,后续我将努力完善修改,散花! 阅读详情

相关推荐

万字攻略全面了解selenium_selenium教程

一起学习下python爬虫4小分队(scrapy、beautifulsoup、selenium以及pyppeteer)之一的Selenium库,主要用于模拟浏览器运行,是一个用于web应用测试的工具。Selenium直接运行在浏览器中,看起来就像人在操作一样(也可无窗口模式运行)。支持的浏览器包括IE、Firefox、Safari、Chrome、Opera和Edge等。............

HRG520JN的博客 2万+

Selenium超级详细的教程

web自动化测试框架-----Selenium大揭秘 前言 相信搞过Python的人绝大部分都会一点点爬虫技能,但是很多时候爬虫也不是万能的,这个时候就需要我们的自动化测试框架了,于是Selenium就应运而生了,它可以算的上是自动化测试框架中的佼佼者,因为它解决了大多数用来爬取页面的模块的一个永远的痛,那就是Ajax异步加载,今天小编就带大家来好好了解下这个Selenium 。 一、安装与导入 这里我们需要安装三个东西,一个是Selenium框架,还有一个浏览器,最后就是驱动。这里小编选择了谷歌浏览器,下

qq_44326412的博客 6万+

Selenium离线部署全攻略:从环境准备到脚本验证的完整实践

自动化测试与网页数据抓取是提升开发与运维效率的关键技术,其核心在于模拟真实用户操作浏览器以执行精准任务。在原理层面,这通常依赖于浏览器驱动协议与客户端库的交互,通过发送指令控制浏览器实例。该技术的核心价值在于实现流程自动化、提升测试覆盖率与数据采集的稳定性。在应用场景中,常会遇到服务器或开发机处于内网、隔离或保密环境,无法连接外网下载依赖的特殊情况。此时,离线部署成为刚需,尤其涉及Selenium、ChromeDriver等组件的版本精确匹配与依赖完整性管理。本文聚焦于Selenium离线部署这一具体实践,

weixin_34166847的博客 414

2万字带你了解Selenium全攻略

大家好,我是才哥。 今天带大家一起学(复)习模拟浏览器运行的库Selenium,它是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera和Edge等。 这里我将以Chrome为例进行Selenium功能的演示~ 目录: 文章目录0. 准备工作0.1. 安装selenium库0.2. 安装浏览器驱动1. 基本用法1.1. 初

可以叫我才哥 7361

2023Mac Ventura 配置chromedriver全攻略

本文详细介绍了在Mac Ventura系统上配置chromedriver的完整步骤,包括版本匹配、安装配置、常见问题解决及进阶技巧。针对开发者常见的版本不匹配、权限问题等提供了实用解决方案,帮助用户高效完成Web自动化测试环境搭建。

weixin_28335283的博客 221

Chrome浏览器旧版本下载全攻略:Windows/Mac/Linux一键获取稳定版(附国内镜像)

本文提供了Chrome浏览器历史版本的高效获取指南,涵盖Windows、Mac和Linux三大平台,特别针对国内网络环境优化方案。详细介绍了官方离线安装包、企业版MSI安装包、国内镜像加速等实用方法,并附有版本管理、校验等进阶技巧,帮助开发者解决版本依赖问题。

weixin_29281915的博客 1563

Selenium2023最全攻略(元素操作,浏览器操作等)附完整代码!

一、元素操作方法 注意:在输入方法之前一定要清空操作!!浏览器清除。

test_xiaoqi的博客 2234

Shader Graph入门

Shader Graph 简介

zaizai1007的博客 1万+

2023最新版Selenium环境搭建:从Chromedriver下载到京东秒杀脚本测试全流程

本文详细介绍了2023年最新版Selenium环境搭建全流程,包括Chromedriver下载、Python环境配置以及京东秒杀脚本测试实战。通过智能匹配Chromedriver版本、优化浏览器选项和实战案例演示,帮助开发者高效完成电商自动化测试,提升工作效率。

weixin_27038701的博客 230

手把手教你用S7-PLCSIM Advanced V3.0搭建PLC仿真测试环境(含WinPcap避坑指南)

本文详细介绍了如何使用西门子S7-PLCSIM Advanced V3.0搭建PLC仿真测试环境,包括WinPcap 4.1.3驱动的安装避坑指南。从环境准备、软件安装到配置调试,提供了一套完整的解决方案,帮助工程师和教学人员快速构建可靠的PLC仿真环境,解决常见的报错问题。

weixin_30879169的博客 641

基于PID算法的循迹小车

这一期为创客们带来基于PID算法的循迹小车制作 1.标准赛道示意图: (该赛道包含了:左直角、右直角、十字路口等路况) 2.灰度传感器安装示意图: (可根据实际情况调节各传感器之间的间距) 3.硬件原理图: 4.控制逻辑: 5.程序如下: #define leftA_PIN 7 #define leftB_PIN 6 #define left_Pwm_PIN 5 #define STBY...

qq_44343584的博客 4万+

软件测试入门到精通-第10周-ui自动化测试-selenium元素定位的另一种方式+元素定位小结

🚀 1. 开篇暴击:为什么要学新写法? 老铁们还在用find_element_by_id这种上古写法?醒醒吧!Selenium官方早就偷偷把旧写法扔进垃圾桶了(4.1+版本直接废弃)。 现在流行的是By类统一写法——像程序员届的KPI考核,强制要求所有定位方式必须"整齐划一"!

欢迎来到测试猿的吐槽大会!这里没有鸡汤,只有段子。功能测试:在需求文档里找漏洞,在界面上玩大家来找茬。自动化测试:让代码替我加班,而我负责喝咖啡摸鱼。性能测试:给服务器施压,看它到底能扛几拳。全流程质量守护:从需求评审到上线,一路带刀护送。 1240

使用pytorch构建LSTM_AE模型的两种方式

2.基本LSTM_Unit计算——基本LSTM_AE结构 3.自定义LSTM_Unit计算——自定义LSTM_AE结构 1.LSTM-Encoder-Decoder模型结构及简要解析 图基本lstm计算单元

qq_37840762的博客 7274

Selenium面试全攻略:高频考点与实战优化

Web自动化测试是现代软件开发的重要环节,Selenium作为该领域的标准工具,通过浏览器驱动协议实现跨平台测试。其核心原理基于WebDriver与浏览器的双向通信,支持多种定位策略和等待机制。在工程实践中,Selenium可显著提升测试效率,特别是在电商、金融等需要高频回归测试的场景。最新技术趋势如WebDriver BiDi协议和AI视觉定位,正在推动自动化测试的变革。本文整理的面试题库涵盖组件架构、元素定位策略对比等基础原理,以及并发测试方案、框架设计等实战优化技巧,帮助开发者系统掌握Selenium

weixin_26749245的博客 307

长上下文技术的底层逻辑:Attention、压缩、缓存与跨页推理

如果把模型的参数视为“固化智能”,动态智能(Dynamic Intelligence)——模型不必依赖训练时的记忆,而是可以随时调用外部信息。这一点正在改变大模型的范式:Prompt 不再是输入,而是“操作系统事件”文档不再是知识,而是“模型的临时记忆”模型不再是一段神经网络,而是一个“具备阅读循环的推理引擎”当我们把上下文从 128K 拉到百万级,我们做的不是扩容,而是让模型第一次拥有阅读、回溯、定位、跨页分析的能力。这是一种新的智能。

aifs2025的博客 997

第五天 Labview数据记录(5.4 EXCEL文件读写)

Excel 文件读写在数据处理、自动化办公、数据分析等领域具有重要的意义。以下是 Excel 文件读写的主要应用场景和意义:1. 数据管理和整理;2. 自动化办公;3. 数据分析和可视化;4. 系统集成;5. 报表生成;6. 教育和培训;7. 实际应用场景。Excel 文件读写的意义在于提高数据处理的效率、减少人工操作、支持自动化办公、促进数据分析和可视化,以及实现系统之间的数据交互。无论是企业、组织还是个人,都可以通过 Excel 文件读写实现数据的高效管理和利用。

weixin_38637405的博客 1263

新手入门Java自动化测试的利器:Selenium WebDriver

合集 - 经验分享(31)1.记一次由于操作失误致使数据库瘫痪的故障分析与解决方案2023-09-082.网络之谜:记一次失败排查的故事2023-11-153.你是否想知道如何应对高并发?Go语言为你提供了答案!2023-12-294.2023年终总结:拉帮结伙,拼搏探索新机遇2023-12-305.谁说后端不能画出美丽的动图?让我来给大家拜个年!01-296.【10秒开服】幻兽帕鲁全自动部署教程...

weixin_42172572的博客 157

YOLOv13改进策略【Neck篇】| GSConv 轻量卷积,Slim-Neck 减参数还不掉点

Neck 篇的第二篇继续"替换式"改进,这次的对象是 Neck 里的下采样卷积。GSConv 出自《Slim-neck by GSConv: a better design of lightweight detector》(2022),它的出发点:DWSConv(深度可分离)轻但"信息混不进通道",标准卷积重但表达好——GSConv 用GConv(分组卷积)混通道 + DWConv 补空间 + Channel Shuffle 打散,两全其美。

qq_53329130的博客 30

2023软件测试面试全攻略:35道高频题解析

软件测试是保障软件质量的关键环节,其核心在于系统化的测试方法论和工程实践。从测试用例设计中的等价类划分、边界值分析,到自动化测试中的Selenium显式等待和PageObject模式,测试工程师需要掌握从原理到落地的完整知识体系。在持续集成场景下,JMeter分布式测试和CI/CD流水线设计成为现代测试工程师的必备技能,而AI测试和混沌工程则代表了行业前沿方向。本文整理的35道面试题涵盖功能测试、性能测试等主流领域,特别针对2023年新兴技术趋势进行了更新,包含Selenium进阶技巧、JMeter性能调优

weixin_33795806的博客 373

构建一个基于Simulink的LC滤波器仿真模型

需求分析LC滤波器(Inductor-Capacitor Filter)是一种常见的无源滤波器,广泛应用于电力电子、通信、音频处理等领域。其主要作用是平滑输入信号中的高频谐波成分,保留低频或直流成分,从而提高输出信号的质量。在电力电子系统中,LC滤波器常用于逆变器、整流器等设备的输出端,以减少开关噪声和电磁干扰(EMI),确保输出电压和电流的稳定性。本项目将基于Simulink平台,开发一个完整的LC滤波器仿真模型,涵盖从电源输入到滤波输出的整个过程,并通过PI控制器实现对滤波效果的闭环控制。

MHD0815的博客 740

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

2024年Selenium自动化实战:从环境搭建到企业级应用

Web自动化测试是软件工程中保障Web应用质量与效率的核心技术,其原理是通过程序模拟真实用户操作浏览器,实现页面导航、元素交互与数据验证。这项技术的核心价值在于提升测试覆盖率、实现持续集成以及替代重复性人工操作。在数据采集、RPA(机器人流程自动化)及跨浏览器兼容性测试等场景中,自动化技术尤为重要。Selenium作为历史悠久且遵循W3C标准的WebDriver框架,凭借其跨浏览器支持(如Chrome、Firefox)和庞大的社区生态,在企业级遗留系统自动化与复杂场景测试中展现出不可替代的优势。本文以Sel

weixin_28677451的博客 321

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

如何使用Python抢票神器damaihelper:从新手到高手的完整攻略

大麦助手(damaihelper)是一款基于Python开发的自动化抢票脚本,专为解决热门演出门票难抢的问题而设计。通过简洁的配置和强大的自动化功能,即使是编程新手也能轻松掌握抢票技巧,快速提升抢票成功率。 ## 核心功能与优势 damaihelper作为一款专业的Python抢票工具,具备以下核心特性: - **多账号管理**:支持同时管理多个大麦网账号,通过[scripts/multi_

gitblog_01054的博客 579

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Windows/Mac通用!PyCharm配置Selenium自动化测试环境全攻略(含ChromeDriver版本匹配避坑指南)

本文详细介绍了在Windows和Mac双平台上使用PyCharm配置Selenium自动化测试环境的完整指南,包括ChromeDriver版本匹配的避坑技巧。通过Anaconda虚拟环境管理和PyCharm项目配置,帮助开发者快速搭建稳定的测试环境,提升自动化测试效率。

weixin_30480075的博客 353

2023年春招,软件测试开发最全面试攻略,吃透16个技术栈

小编分享的这份秋招软件测试面试总结包含了软件测试基础、MySQL基础、Liunx、web测试、接口测试、App测试、管理工具、Python、selenium、性能测试、LordRunner 、计算机网络、组成原理、数据结构与算法、api测试等个16专题技术点,都是小编在各个大厂总结出来的面试真题,已经有很多粉丝靠这份PDF拿下众多大厂的offer,今天在这里总结分享给到大家!

软件测试技术分享 286

Python+Selenium自动化环境搭建全攻略:从零到一避开常见坑

浏览器自动化是提升工作效率、实现数据采集与流程自动化的关键技术。其核心原理是通过程序指令模拟真实用户操作,控制浏览器执行点击、输入、导航等行为。在众多技术方案中,Selenium因其跨浏览器、跨平台和强大的API支持而成为行业标准工具。结合Python简洁的语法和丰富的生态,Python+Selenium组合为自动化测试、网页数据抓取(爬虫)和办公自动化(RPA)等场景提供了高效解决方案。本文聚焦于环境搭建这一基础但关键的实践环节,详细解析Python版本选择、Selenium库安装、浏览器驱动配置等核心步

weixin_31309419的博客 337
上一篇: 天天被开发怼?4个方法区分bug前后端归属,我再也不背锅了!
下一篇: 软测人正在杀死软测行业
程序媛月下
博客等级 码龄7年 5262粉丝 462原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值