python对浏览器的常用操作有哪些_Python Selenium中对象常用操作方法
一、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中对象常用操作方法相关推荐
- C++ STL::list常用操作及底层实现(中1)——实现list常用操作之插入(insert、push_front、push_back、splice)
STL::list插入介绍及自实现插入功能 1插入数据之insert(): 1.1 `iterator insert(iterator position,const value_type & ...
- python关系运算符实例_python编程中最常用的比较运算符实例
python运算符-编程中最常用的比较运算符(实例解析) 今天这篇文章我们来说说python比较运算符,这个一共有七种不一样的运算符分别是等于.不等于.大于.小于.大于等于.小于等于,这七种是比较常用 ...
- python实现浏览器打开为手机浏览模式_python如何实现打开浏览器
第一种:selenium导入浏览器驱动,用get方法打开浏览器,例如:import time from selenium import webdriver def mac(): driver = we ...
- excel最常用的八个函数_Excel中最常用的快捷键
我们的学习和工作中,Excel都是必不可少的工具.掌握一些常用的Excel快捷键对提高我们的工作效率很有帮助,下面就给大家列举一些在Excel中比较常用的快捷键,各位同学可以在闲暇之余了解一下. Ct ...
- python缩进可以用在任何语句之后_Python程序中,缩进表达所属关系,在缩进的前一行最后,需要使用符号 Python 语句中增...
Python程序中,缩进表达所属关系,在缩进的前一行最后,需要使用英文冒号 : 符号. 缩进在python代码中的重要性,缩进不规范程序就不能运行.这也是python比其他编程语言简单的地方,用缩进来 ...
- 计算机常用计数制什么意思,计算机中的常用计数制及转换.PPT
计算机中的常用计数制及转换 上海交通大学网络教育学院---计算机基础 计算机应用基础 上海交通大学网络教育学院 高万萍 Email: wpgao@sjtu.edu.cn 课程简介 计算机应用基础课程共 ...
- Python对浏览器的自动化操作(商品监控下单)
文章目录 1.起因 2.需求 3.准备环境 1.[ pip的使用 ] 2.下载插件 3.插件放在Python根目录 4.运行测试 1.无货测试 2.有货测试 5.彩蛋 1.起因 这篇文章应该是前年和教 ...
- python关闭浏览器删除session_Django操作session 的方法
session是存放在服务端的,在django中使用session必须要先在数据库中创建django_session表,session相关信息都要依赖此表 获取session request.sess ...
- python处理数据0和负数跳过_Python第十一章-常用的核心模块03-json模块
python 自称 "Batteries included"(自带电池, 自备干粮?), 就是因为他提供了很多内置的模块, 使用这些模块无需安装和配置即可使用. 本章主要介绍 py ...
最新文章
- 一根棉签解决身上各种酸痛,立马感觉无比舒畅!
- 视频和音频播放的演示最简单的例子9:SDL2广播PCM
- 《你的灯亮着吗》阅读笔记1
- ML:MLOps系列讲解之《CRISP-ML (Q)ML生命周期过程—了解机器学习开发的标准过程模型—业务和数据理解→数据工程(数据准备)→ML模型工程→评估ML模型→模型部署→模型监控和维护》解读
- 143. 最大异或对【贪心 trie】
- [云炬商业计划书阅读分享]洗车店创业计划书
- cordova 更改app版本_ionic项目中使用cordova-hot-code-push插件
- cad布局教程_CAD制图初学入门之常见的CAD打印设置汇总
- 关于 SAP Spartacus 服务器端渲染 SSR 无法使用窗口宽度以进行自适应设计的问题
- 数学基础知识(高精、快速幂、龟速乘……)
- jaxb list集合对象_JAXB –表示空集合和空集合
- 计算机英语 传输介质,计算机英语实用教程unit7
- [C++] 前置++与后置++
- CCF201809-4 再卖菜(100分)【DFS】
- Ubuntu下配置lazarus开发环境
- Vue开发者工具安装祥析
- java爬取百度图片
- wnmp mysql_WNMP(Window系统+Nginx服务器+Mysql数据库+PHP)
- 张同须全面介绍中国移动5G+AI新基建布局(附PPT)
- java锁的种类以及辨析(一):自旋锁
热门文章
- SAP CRM text Transfer mode
- Back button implementation in Text reuse component GSTEXT
- SAP Fiori Launchpad里home按钮的实现原理分析
- 一个SAP加拿大实习生在当地观察到的美景
- SAP CRM呼叫中心里Case ID的生成逻辑
- 初中计算机基础知识教程考试,2017年职称计算机考试基础知识教程详解(三十一)...
- 常见Orcale报错问题解决办法
- python传递参数格式_Python语言学习基础篇之Python发送Post请求之根据参数位置传参、数据类型、不同方式传参...
- php mysql连续签到跨月_PHP连续签到功能实现方法详解
- matlab语音信号分析实验报告,DSP实验二 语音信号分析与处理,南京理工大学紫金学院实验报告,信号与系统...