一、webdriver 提供了一系列的对象定位方法,常用的有以下几种:id定位:find_element_by_id()

name定位:find_element_by_name()

class定位:find_element_by_class_name()

link定位:find_element_by_link_text()

partial link定位:find_element_by_partial_link_text()

tag定位:find_element_by_tag_name()

xpath定位:find_element_by_xpath()

css定位:find_element_by_css_selector()

二、鼠标事件

webdriver 中比较常用的操作对象的方法有下面几个:click——点击对象

send_keys——在对象上模拟按键输入

clear——清除对象的内容,如果可以的话

submit——提交对象的内容,如果可以的话

text——用于获取元素的文本信息

一般包括鼠标右键、双击、拖动、移动鼠标到某个元素上等等。

需要引入ActionChains类。

引入方法:

from selenium.webdriver.common.action_chains import ActionChainsActionChains 常用方法:

perform()  执行所有ActionChains 中存储的行为;

context_click()  右击;

double_click()   双击;

drag_and_drop()  拖动;

move_to_element()  鼠标悬停。#定位到要双击的元素

qqq =driver.find_element_by_xpath("xxx")

#对定位到的元素执行鼠标双击操作

ActionChains(driver).double_click(qqq).perform()#定位元素的原位置

element = driver.find_element_by_name("source")

#定位元素要移动到的目标位置

target = driver.find_element_by_name("target")

#执行元素的移动操作

ActionChains(driver).drag_and_drop(element, target).perform()

三、对键盘事件

from selenium.webdriver.common.keys import Keys通过 send_keys()调用按键:

send_keys(Keys.TAB) # TAB

send_keys(Keys.ENTER) # 回车

#ctrl+a 全选输入框内容

driver.find_element_by_id(“kw”).send_keys(Keys.CONTROL,’a’)

四、selenium add_argument 参数表

driver = webdriver.Chrome(options=chrome_options)

其中options设置有很多,常用的如下:

chrome_options.add_argument(‘–user-agent=””‘) # 设置请求头的User-Agent

chrome_options.add_argument(‘–window-size=1280×1024’) # 设置浏览器分辨率(窗口大小)

chrome_options.add_argument(‘–start-maximized’) # 最大化运行(全屏窗口),不设置,取元素会报错

chrome_options.add_argument(‘–disable-infobars’) # 禁用浏览器正在被自动化程序控制的提示

chrome_options.add_argument(‘–incognito’) # 隐身模式(无痕模式)

chrome_options.add_argument(‘–hide-scrollbars’) # 隐藏滚动条, 应对一些特殊页面

chrome_options.add_argument(‘–disable-javascript’) # 禁用javascript

chrome_options.add_argument(‘–blink-settings=imagesEnabled=false’) # 不加载图片, 提升速度

chrome_options.add_argument(‘–headless’) # 浏览器不提供可视化页面

chrome_options.add_argument(‘–ignore-certificate-errors’) # 禁用扩展插件并实现窗口最大化

chrome_options.add_argument(‘–disable-gpu’) # 禁用GPU加速,如果不加这个选项,有时定位会出现问题

chrome_options.add_argument(‘–disable-software-rasterizer’)

chrome_options.add_argument(‘–disable-extensions’)

chrome_options.add_argument(‘–start-maximized’)

chrome_options.add_argument((‘–proxy-server=’ + ip)) 设置代理

其他的一些关于Chrome的实用参数及简要的中文说明,使用方法同上4.5.4,当然也可以在shell中使用。

–user-data-dir=”[PATH]” 指定用户文件夹User Data路径,可以把书签这样的用户数据保存在系统分区以外的分区。

–disk-cache-dir=”[PATH]“ 指定缓存Cache路径

–disk-cache-size= 指定Cache大小,单位Byte

–first run 重置到初始状态,第一次运行

–incognito 隐身模式启动

–disable-javascript 禁用Javascript

–omnibox-popup-count=“num” 将地址栏弹出的提示菜单数量改为num个。我都改为15个了。

–user-agent=“xxxxxxxx” 修改HTTP请求头部的Agent字符串,可以通过about:version页面查看修改效果

–disable-plugins 禁止加载所有插件,可以增加速度。可以通过about:plugins页面查看效果

–disable-javascript 禁用JavaScript,如果觉得速度慢在加上这个

–disable-java 禁用java

–start-maximized 启动就最大化

–no-sandbox 取消沙盒模式

–single-process 单进程运行

–process-per-tab 每个标签使用单独进程

–process-per-site 每个站点使用单独进程

–in-process-plugins 插件不启用单独进程

–disable-popup-blocking 禁用弹出拦截

–disable-plugins 禁用插件

–disable-images 禁用图像

–incognito 启动进入隐身模式

–enable-udd-profiles 启用账户切换菜单

–proxy-pac-url 使用pac代理 [via 1/2]

–lang=zh-CN 设置语言为简体中文

–disk-cache-dir 自定义缓存目录

–disk-cache-size 自定义缓存最大值(单位byte)

–media-cache-size 自定义多媒体缓存最大值(单位byte)

–bookmark-menu 在工具 栏增加一个书签按钮

–enable-sync 启用书签同步

–single-process 单进程运行Google Chrome

–start-maximized 启动Google Chrome就最大化

–disable-java 禁止Java

–no-sandbox 非沙盒模式运行

五、执行js

利用selenium的browser.execute_script()方法来执行上面的JS方法:

browser.execute_script(‘window.scrollBy(200,0)’)

六、一些常用的例子

1.获取当前页面的Url函数

方法:current_url

实例:

driver.current_url

2.获取元素坐标

方法:location

解释:首先查找到你要获取元素的,然后调用location方法

实例:

driver.find_element_by_xpath(“//*[@id=’tablechart’]/tbody/tr[14]/td[9]”).location

3.表单的提交

方法:submit

解释:查找到表单(from)直接调用submit即可

实例:

driver.find_element_by_id(“form1”).submit()

4.获取CSS的属性值

方法:value_of_css_property(css_name)

实例:

driver.find_element_by_css_selector(“input.btn”).value_of_css_property(“input.btn”)

5.获取元素的属性值

方法:get_attribute(element_name)

实例:

driver.find_element_by_id(“sellaiyuan”).get_attribute(“sellaiyuan”)

6.判断元素是否被选中

方法:is_selected()

实例:

driver.find_element_by_id(“form1”).is_selected()

7.返回元素的大小

方法:size

实例:

driver.find_element_by_id(“iptPassword”).size

返回值:{‘width’: 250, ‘height’: 30}

8.判断元素是否显示

方法:is_displayed()

实例:

driver.find_element_by_id(“iptPassword”).is_displayed()

9.判断元素是否被使用

方法:is_enabled()

实例:

driver.find_element_by_id(“iptPassword”).is_enabled()

10.获取元素的文本值

方法:text

实例:driver.find_element_by_id(“iptUsername”).text

11.元素赋值

方法:send_keys(*values)

实例:

driver.find_element_by_id(“iptUsername”).send_keys(‘admin’)

注意如果是函数需要增加转义符u,eg.

driver.find_element_by_id(“iptUsername”).send_keys(u’青春’)

12.返回元素的tagName

方法:tag_name

实例:

driver.find_element_by_id(“iptUsername”).tag_name

13.删除浏览器所以的cookies

方法:delete_all_cookies()

实例:

driver.delete_all_cookies()

14.删除指定的cookie

方法:delete_cookie(name)

实例:deriver.delete_cookie(“my_cookie_name”)

15.关闭浏览器

方法:close()

实例:driver.close()

16.关闭浏览器并且推出驱动程序

方法:quit()

实例:driver.quit()

17.返回上一页

方法:back()

实例:driver.back()

18.设置等待超时

方法:implicitly_wait(wait_time)

实例:driver.implicitly_wait(30)

19.浏览器窗口最大化

方法:maximize_window()

实例:driver.maximize_window()

20.查看浏览器的名字

方法:name

实例:drvier.name

python对浏览器的常用操作有哪些_Python Selenium中对象常用操作方法相关推荐

  1. C++ STL::list常用操作及底层实现(中1)——实现list常用操作之插入(insert、push_front、push_back、splice)

    STL::list插入介绍及自实现插入功能 1插入数据之insert(): 1.1 `iterator insert(iterator position,const value_type & ...

  2. python关系运算符实例_python编程中最常用的比较运算符实例

    python运算符-编程中最常用的比较运算符(实例解析) 今天这篇文章我们来说说python比较运算符,这个一共有七种不一样的运算符分别是等于.不等于.大于.小于.大于等于.小于等于,这七种是比较常用 ...

  3. python实现浏览器打开为手机浏览模式_python如何实现打开浏览器

    第一种:selenium导入浏览器驱动,用get方法打开浏览器,例如:import time from selenium import webdriver def mac(): driver = we ...

  4. excel最常用的八个函数_Excel中最常用的快捷键

    我们的学习和工作中,Excel都是必不可少的工具.掌握一些常用的Excel快捷键对提高我们的工作效率很有帮助,下面就给大家列举一些在Excel中比较常用的快捷键,各位同学可以在闲暇之余了解一下. Ct ...

  5. python缩进可以用在任何语句之后_Python程序中,缩进表达所属关系,在缩进的前一行最后,需要使用符号 Python 语句中增...

    Python程序中,缩进表达所属关系,在缩进的前一行最后,需要使用英文冒号 : 符号. 缩进在python代码中的重要性,缩进不规范程序就不能运行.这也是python比其他编程语言简单的地方,用缩进来 ...

  6. 计算机常用计数制什么意思,计算机中的常用计数制及转换.PPT

    计算机中的常用计数制及转换 上海交通大学网络教育学院---计算机基础 计算机应用基础 上海交通大学网络教育学院 高万萍 Email: wpgao@sjtu.edu.cn 课程简介 计算机应用基础课程共 ...

  7. Python对浏览器的自动化操作(商品监控下单)

    文章目录 1.起因 2.需求 3.准备环境 1.[ pip的使用 ] 2.下载插件 3.插件放在Python根目录 4.运行测试 1.无货测试 2.有货测试 5.彩蛋 1.起因 这篇文章应该是前年和教 ...

  8. python关闭浏览器删除session_Django操作session 的方法

    session是存放在服务端的,在django中使用session必须要先在数据库中创建django_session表,session相关信息都要依赖此表 获取session request.sess ...

  9. python处理数据0和负数跳过_Python第十一章-常用的核心模块03-json模块

    python 自称 "Batteries included"(自带电池, 自备干粮?), 就是因为他提供了很多内置的模块, 使用这些模块无需安装和配置即可使用. 本章主要介绍 py ...

最新文章

  1. 一根棉签解决身上各种酸痛,立马感觉无比舒畅!
  2. 视频和音频播放的演示最简单的例子9:SDL2广播PCM
  3. 《你的灯亮着吗》阅读笔记1
  4. ML:MLOps系列讲解之《CRISP-ML (Q)ML生命周期过程—了解机器学习开发的标准过程模型—业务和数据理解→数据工程(数据准备)→ML模型工程→评估ML模型→模型部署→模型监控和维护》解读
  5. 143. 最大异或对【贪心 trie】
  6. [云炬商业计划书阅读分享]洗车店创业计划书
  7. cordova 更改app版本_ionic项目中使用cordova-hot-code-push插件
  8. cad布局教程_CAD制图初学入门之常见的CAD打印设置汇总
  9. 关于 SAP Spartacus 服务器端渲染 SSR 无法使用窗口宽度以进行自适应设计的问题
  10. 数学基础知识(高精、快速幂、龟速乘……)
  11. jaxb list集合对象_JAXB –表示空集合和空集合
  12. 计算机英语 传输介质,计算机英语实用教程unit7
  13. [C++] 前置++与后置++
  14. CCF201809-4 再卖菜(100分)【DFS】
  15. Ubuntu下配置lazarus开发环境
  16. Vue开发者工具安装祥析
  17. java爬取百度图片
  18. wnmp mysql_WNMP(Window系统+Nginx服务器+Mysql数据库+PHP)
  19. 张同须全面介绍中国移动5G+AI新基建布局(附PPT)
  20. java锁的种类以及辨析(一):自旋锁

热门文章

  1. SAP CRM text Transfer mode
  2. Back button implementation in Text reuse component GSTEXT
  3. SAP Fiori Launchpad里home按钮的实现原理分析
  4. 一个SAP加拿大实习生在当地观察到的美景
  5. SAP CRM呼叫中心里Case ID的生成逻辑
  6. 初中计算机基础知识教程考试,2017年职称计算机考试基础知识教程详解(三十一)...
  7. 常见Orcale报错问题解决办法
  8. python传递参数格式_Python语言学习基础篇之Python发送Post请求之根据参数位置传参、数据类型、不同方式传参...
  9. php mysql连续签到跨月_PHP连续签到功能实现方法详解
  10. matlab语音信号分析实验报告,DSP实验二 语音信号分析与处理,南京理工大学紫金学院实验报告,信号与系统...