当前位置: 首页 > news >正文

selenium基本使用(一)

selenium基本使用

from selenium import webdriver #导入一个selenium 库中导入webdriver模块

在Python中做UI自动化:selenium'''
创建一个drvier对象用来调用打开浏览器,对浏览器实现操作
driver =webdriver.Chrome() #主讲谷歌浏览器
driver =webdriver.Ie()
driver =webdriver.firefox()

通过调用webdrvier.来引用对应的浏览器,生成一个浏览器对象
注意事项:webdrvier. 点后面的浏览器名称不要自己输入用联想
还有自己添加一个英文的小括号() 小括号的作用是:把它声明成为一个匿名对象 那么当前的drvier就是一个浏览器驱动对象,可以用它来
对对应的浏览器实现操作的动作
UI自动化所有的调用都必须在最前面加上一个drvier对象
通过对象来打开谷歌浏览器且输入网址

driver.get('http://www.baidu.com')
通过对象调用get方法来打开一个网站URL

一.打开窗口

(1)dx,.get 打开网站

from selenium import webdriver #导入selenium模块中的webdriver
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("过期更新") #通过get打开页面

(2)重开窗口打开页面

from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("过期更新") #通过get打开页面
time.sleep(2)
w="window.open('https://www.baidu.com')"
dx.execute_script(w)

(3).时间等待

a.强制等待 sleep(xx) 必须等待n秒,n秒结束后必须执行下一步

b.隐性等待 implicitly_wait(xx) 最长等待时间,在n秒内运行结束后,可以在等待时间未结束前执行下一步,只要完成这一步就可以执行下一步

c.显性等待 WebDriverWait 程序每隔xx秒看一眼,如果条件成立了,则执行下一步,否则继续等待,直到超过设置的最长时间,然后抛出TimeoutException

案例:

from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("过期更新") #通过get打开页面
time.sleep(5) #强制等待
dx.implicitly_wait(10) #隐式等待
WebDriverWait#显示等待
w="window.open('https://www.baidu.com')"
dx.execute_script(w)

三.页面刷新

dx.refresh() #刷新

代码:

from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("过期更新") #通过get打开页面
time.sleep(2)
dx.refresh() #刷新

四.返回上一页,切换到下一页

dx.back() 返回上一也
dx.forward() #切换到下一页

图片
代码:

from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("过期更新") #通过get打开页面
time.sleep(2)
dx.get("https://www.baidu.com")
time.sleep(2)
dx.back() #切换到上一页
time.sleep(2)
dx.forward() #切换到下一页

五.设置窗口

(1)窗口最大化

语句:dx.maximize_window()

from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("过期更新") #通过get打开页面
time.sleep(2)
dx.maximize_window()

(2)设置窗口大小

dx.set_window_size(500,500)

代码:

from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("过期更新") #通过get打开页面
time.sleep(2)
dx.maximize_window()
time.sleep(2)
dx.set_window_size(500,500)

六.截图

dx.get_screenshot_as_file(r"保存路径\截图名.png")

from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("过期更新") #通过get打开页面
dx.get_screenshot_as_file(r"E:\az\f\aa.png")

七.quit 退出所有窗口 ,close关闭当前窗口

(1)quit

from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("过期更新") #通过get打开页面
time.sleep(2)
w="window.open('https://www.baidu.com')"
dx.execute_script(w)
dx.quit()

(2)close 关闭当前拆窗口

from selenium import webdriver #导入selenium模块中的webdriver
import time
dx=webdriver.Chrome() #创建一个驱动谷歌浏览器的对象
dx.get("过期更新") #通过get打开页面
time.sleep(2)
w="window.open('https://www.baidu.com')"
dx.execute_script(w)
time.sleep(2)

dx.quit()

dx.close()

相关文章:

  • 【微前端-致命隐患】主子应用异步加载
  • C++11QT复习 (三)
  • 【嵌入式学习2】c语言重点整理
  • Shiro漏洞攻略
  • c#处理算数溢出的情况
  • 【Android】我们是如何优化安卓应用大小至10MB以下的
  • 如何进行文件操作
  • 【QT】Qt creator快捷键
  • Ftrans飞驰云联受邀参加“2025汽车零部件CIO年会“并荣获智象奖
  • 【python】OpenCV—Hand Detection
  • Packaging Process
  • 【随手记】支持多模态输入的 AI Chatbot App
  • 抓包软件【Fiddler】
  • .Net SSO 单点登录方式
  • 软考笔记——操作系统
  • SAP GUI Script for C# SAP脚本开发快速指南与默认主题问题
  • 2、稳定排序二——插入排序
  • 注册中心之Nacos相较Eureka的提升分析
  • JavaScript中的宏任务和微任务
  • Spring框架漏洞攻略
  • 习近平主持召开部分省区市“十五五”时期经济社会发展座谈会
  • 江西德安回应“义门陈遗址建筑被没收”:将交由规范的义门陈相关社会组织管理
  • 辽宁辽阳市白塔区一饭店发生火灾,当地已启动应急响应机制
  • 孕妇乘坐高铁突发临产,广西铁路部门协助送医平安产子
  • 白云山一季度营收净利双降,此前称今年将挖掘盘活自身资源
  • 今年一季度全国城镇新增就业308万人,就业形势保持总体稳定