Python自动化系列5

import selenium #工具里的所有的内容都导入

from selenium import webdriver #从selenium 工.具里导入webdriver库

import time #导入time这个模块--- Python自带的

#选择chrome这个浏览器,初始化driver==可以浏览器进行沟通建立会话= session

driver = webdriver.Chrome()

#1、打开一个网址

driver.get ( "http://120.78.128.25:8765")

#2、浏览器窗口最大化

driver.maximize_window ()

#3、打开新页面

#time.sleep(2)#等待,默认秒

driver.get ("http://erp.lemfix.com" )

#4、向前退后――刷新

#time.sleep (2)

driver.back () #退回上一个页面

#time .sleep (2)

driver.forward() #前进道下一个页面

#time .sleep(2)

driver.refresh () #刷新页面

#5、退出

driver.quit() #关闭驱动 sessionx闭

#driver.close() #关闭当前的窗口,不会退出会话

web自动化:

代码 翻译(中间人) 浏览器

Python----->浏览器驱动(准备)----->chrome

selenium:Python的工具,三个部分--了解

  1. ide:录制脚本--用的少
  2. webdriver:库--提供对网页的各种操作+结合语言使用-- Python java--重点
  3. grid:分布式--用的少

#以上浏览器的常规操作,非常规的操作--要怎么实现呢? ===元素定位 --了解前端页面

基础知识: web页面=HTML+CSS+Javascript --扩展 了解

html:标签语言<标签名>值</标签名>呈现页面内容

CSS:页面布局设置,字体颜色,字体大小样式

JS:依据不同效果

元素的特征:根据页面设计规则,有些特征是唯一=开发遵循了这个规则

id :类比身份证号 ==仅限于当前页面 username username

对页面进行对应的操作:

1、点击

2、传值

#找到了有username这个id的元素--点击

driver.find_element_by_id("username" ).click()

#找到了有username这个id的元素--点,输入内容

driver.find_element_by_id ("username" ).send_keys ("test123")

#找到了有password这个id的元素--点,输入内容

driver.find_element_by_id ("password" ).send_key=("123456")

元素定位

元素定位八大方法,最常用的有: id, name,xpath

如: username = driver.find_element_by_id('username')

找到元素后的操作:

√点击: click

√输入内容:send_keys

√获取文本: tetx

√获取属性: attribute

相关推荐
测试199812 分钟前
Selenium 无法定位元素的几种解决方案
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
半亩码田31 分钟前
C#转Python第3.6篇:Python 的 @property 比 C# 的 get/set 更灵活
java·python·c#
程序员与背包客_CoderZ1 小时前
高性能分布式KV存储引擎RocksDB入门与C/C++编码实战
c语言·开发语言·数据库·c++·分布式·分布式数据库·rocksdb
欧叶冲冲冲1 小时前
Python常见数据结构的CRUD(LeetCode高频版速查)
数据结构·python·leetcode
钱栈up1 小时前
Mac 开发机一键发版不用切环境:我这样改造了团队的后端部署脚本Maven编译卡住20分钟?我靠两步定位到2处隐蔽编译错误
开发语言·python·macos
william_yangshun1 小时前
【大模型部署实战】kimi-k3-in-c 中文版:用 176KB 纯 C99 引擎在 CPU 上跑 Kimi K3 上手指南
c语言·开发语言
CSND7401 小时前
DeepSeek Harness实测+入门教程
人工智能·python
gb42152871 小时前
ai中agent,skill Package,skill,tool,prompt,mcp等等概念的关系
python
Sagittarius_A*1 小时前
Burst Lab | PHP 审计 14|反序列化(四):字符串逃逸与绕过技巧
开发语言·安全·php·web·反序列化
名字还没想好☜1 小时前
Go 用 slices/maps 标准库泛型函数:告别手写 Contains、Sort、去重(Go 1.21)
开发语言·后端·算法·golang·go