selenium 操作浏览器

实际上Selenium已经考虑到,浏览器需要调用对应Selenium的API方法完成相应操作,即浏览器已经完成内置了,并不需要通过元素定位。浏览器常见的7种基本操作如下:

1.浏览器前进操作
  • forward():在初始操作时,不存在前进操作,一般与back配合使用。
  • back():后退操作(当前对象必须存在上下文)
2.浏览器的最大化,最小化,全屏
  • get_driver_maximize_window():实现窗口最大化操作
  • get_driver_minimize_window():实现窗口最小化操作
  • get_driver_fullscreen_window():实现窗口全屏操作
3.浏览器close和quite方法的区别

close表示关闭当前对象所处页面(操作页面)的窗口,quite表示关闭所有的页面窗口并关闭驱动器。如果存在一个窗口,其效果是相同的。

4.浏览器的相关属性获取

print(get_driver.current_url):获取当前对象的url地址

print(get_driver.current_window_handle):获取当前对象的句柄。

print(get_driver.title):获取当前对象的标题。

print(get_driver.window_handles):获取当前对象的所有句柄。

5.浏览器句柄操作

驱动器对象.switch_to_window(句柄名):这种方法属于保留方法,不建议使用,后期会删除;句柄名可以通过先获取所有句柄然后定义其索引的方式获取。

**注意:**如果存在多个句柄,建议对每个句柄进行命名操作,便于句柄之间的切换。

6.浏览器中的alert框处理

alert框是无法直接进行元素定位的,需要使用switch_to.alert先切换到alert对象中,然后调用对应的方法执行。accept()方法表示确定;dismiss()方法表示取消。也可以获取其文本内容,调用text属性即可。

7.浏览器的滚动操作

浏览器滚动条无法直接进行定位,所以需要借助JS脚本完成操作。

  1. 指定上下滚动的高度

    js 复制代码
    js="var browser=document.documentElement.scrollTop=100"
    get_driver.execute_script(js)
  2. 实现左右滚动,还可以实现上下滚动。

    python 复制代码
    get_driver.execute_script("window.scrollTo(0,100)")
    #window.scrollTo(x,y) x:横向滚动,y:纵向滚动
    #window.scrollBy(x,y)表示相对当前的坐标点进行再次滚动后的x,y坐标的值。
  3. 不考虑其横向滚动和纵向滚动的坐标值,直接滚动到指定元素位置

    python 复制代码
    arguments[0].scrollIntoView()
    #arguments[0]表示传入的定位元素的对象
WebElement接口的常用方法:
  • clear:清除元素的内容
  • send_keys:在元素上模拟按键输入
  • click:点击元素
  • submit:提交表单
  • size:返回元素的尺寸
  • text:获取元素的文本
  • get_attribute(name):获取属性值
  • is_displayed():设置该元素是否可见
相关推荐
爱编程的小金1 小时前
告别手写分页逻辑:usePagination 从 50 行到 3 行
javascript·vue·前端分页·alova·usepagination
触底反弹1 小时前
5 个 Step,让你的前端代码连上 AI 大模型
javascript·人工智能·面试
xiaofeichaichai1 小时前
Symbol 与 Iterator / Generator
前端·javascript
维双云1 小时前
小程序店铺装修模板怎么选?从首页布局、商品展示到下单路径这样看更实际
前端·小程序
YHL1 小时前
📖前端 HTTP 请求 & LLM 接口开发
前端·https
西部荒野子2 小时前
4.JS Bundle 执行流程
前端
假如让我当三天老蒯2 小时前
State和Props区别和左右(自学用)
前端·react.js
西部荒野子2 小时前
1. 建立源码地图
前端
西部荒野子2 小时前
3.RCTRootView 加载 Bundle 流程
前端