深入selenium模块基础操作
selenium模块的基本操作
一.模拟浏览器
谷歌、Firefox、Safari等浏览器
- browser=webdriver.Chrome()
- browser=webdriver.Firefox()
- browser=webdriver.Safari()
- browser=webdriver.Edge()
- browser=webdriver.PhantomJS()
二.访问
上面模拟后的浏览器
browser.get('url')
三.定位网页元素
定位元素的方法:
driver.find_element_by_xxx(value)
from selenium.webdriver.common.by import By driver.find_element(By.ID, value)
一、元素定位:用于完成元素定位的定位方式:一定要使用变量接收定位到的元素
a = driver.find_element_by_xxx()
1 通过id属性进行定位:driver.find_element_by_id(id)
2 通过name属性进行定位:driver.find_element_by_name(name)
3 通过class属性进行定位:driver.find_element_by_class_name(class_name)
4 通过标签名进行定位:driver.find_element_by_tag_name(value)
使用条件:
1 要定位的标签是该页面唯一该类标签
2 要定位的标签是该类标签的第一个
5 通过a标签文本信息定位(完整的文本):driver.find_element_by_link_text()
6 通过a标签文本信息定位(部分文本)driver.find_element_by_partial_link_text()
7 通过css规则进行定位:driver.find_element_by_css_selector()
8 通过xpath定位:driver.find_element_by_xpath()
四.元素的操作
元素名称.send_keys(value) 输入内容
元素名称.clear() 清空
用于有些输入的地方有默认值
元素名称.click() 点击
主要用于按钮元素
元素名称.submit() 提交
按回车提交
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Chrome()
browser.get('https://www.baidu.com')
input = browser.find_element_by_id('kw')
input.send_keys('ywy')
input.send_keys(Keys.ENTER)
五.传回元素内容
- 元素名称.text: 获取文本
- 元素名称.get_attribute(attribute):获取元素内属性
attribute为标签属性
- 元素名称.id :获取元素标签
- 元素名称.location:获取元素名称
- 元素名称.tag_name:获取元素标签名称
- 元素名称.size:获取元素大小
六.浏览器的前进后退
- 后退:browser.black()
- 前进:browser.forward()
七.关闭
- 关闭当前:browser.close()
- 关闭所有:browser.quit()
八.简单的模拟百度搜索
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Chrome()
browser.get('https://www.baidu.com')
input_data = browser.find_element_by_id('kw')
input_data.clear()
input_data.send_keys('ywy')
#input.send_keys(Keys.ENTER) 回车登入
enter = browser.find_element_by_id('su')
enter.click()
后续再补充其他的
深入selenium模块基础操作的更多相关文章
- selenium模块基础用法详解
目录 selenium模块 官方文档 介绍 安装 有界面浏览器 无界浏览器 selenium+谷歌浏览器headless模式 基本使用 选择器 基本用法 xpath 获取标签属性 等待元素被加载 隐式 ...
- Android 蓝牙模块基础操作
之前没怎么接触过蓝牙模块,在学习的过程中借鉴了很多前辈的经验.本次主要包含以下功能: 1.检测是否存在蓝牙模块 2.蓝牙的开启与关闭 3.与本机已配对的蓝牙设备 4.本机蓝牙可见性设置 5.扫描周围蓝 ...
- selenium 浏览器基础操作(Python)
想要开始测试,首先要清楚测试什么浏览器.如何为浏览器安装驱动,前面已经聊过. 其次要清楚如何打开浏览器,这一点,在前面的代码中,也体现过,但是并未深究.下面就来聊一聊对浏览器操作的那些事儿. from ...
- python3使用selenium + Chrome基础操作代码
selenium是Python的第三方库,使用前需要安装.但是如果你使用的是anaconda,就可以省略这个步骤,为啥?自带,任性. 安装命令: pip install selenium (一)使用s ...
- nltk模块基础操作
几个基础函数 (1)搜索文本:text.concordance(word) 例如,在text1中搜索词”is”在文本中出现的次数以及上下文的词:text1.concordance("is& ...
- 第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求
第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求 selenium模块 selenium模块为 ...
- 第三百三十七节,web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS
第三百三十七节,web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS PhantomJS虚拟浏览器 phantomjs 是一个基于js的webkit内核无头浏览器 ...
- 二十九 Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求
selenium模块 selenium模块为第三方模块需要安装,selenium模块是一个操作各种浏览器对应软件的api接口模块 selenium模块是一个操作各种浏览器对应软件的api接口模块,所以 ...
- 十六 web爬虫讲解2—PhantomJS虚拟浏览器+selenium模块操作PhantomJS
PhantomJS虚拟浏览器 phantomjs 是一个基于js的webkit内核无头浏览器 也就是没有显示界面的浏览器,利用这个软件,可以获取到网址js加载的任何信息,也就是可以获取浏览器异步加载的 ...
随机推荐
- [ASP.NET Core 3框架揭秘] 配置[7]:多样化的配置源[中篇]
物理文件是我们最常用到的原始配置载体,而最佳的配置文件格式主要有三种,它们分别是JSON.XML和INI,对应的配置源类型分别是JsonConfigurationSource.XmlConfigura ...
- DataSet、DataTable、DataView三者关系及DataView 常见用法
DATASET 可以理解为是个数据库. DATATABLE 可以理解为是个数据表. DATAVIEW 可以理解为是表的视图. dataset 数据集合可以包含多个datatable,而dat ...
- Ubuntu下交换CTRL与CAPSLOCK
1.编辑文件 keyboard sudo vim /etc/default/keyboard 2. 添加内容 XKBOPTIONS="ctrl:swapcaps" 3. reboo ...
- Cobbler 2.x安装与配置
软件环境 Centos7.3 Cobbler 2.8.1 1.下载.编译和安装 创建自动安装脚本cobbler-install.sh #!/bin/bash # File Name: /data/sr ...
- 内网渗透教程大纲v1.0
内网渗透 ☉MS14-068(CVE-2014-6324)域控提权利用及原理解析 ☉域控权限提升PTH攻击 未完待续...
- UiPath Platform注册 登录 及 访问 Orchestrator
相关步骤: 1.https://platform.uipath.com/portal_/cloudrpa 注册 及 登录 2. Login后 通过Services 连接 访问 UiPath Orche ...
- iOS底层实现原理【高级进阶】
想要进阶,想要提升自己一个更高档次,想要拥有更高比格的iOS开发攻城狮们,请关注 ↓↓↓ 我的简书:https://www.jianshu.com/u/3adf2f8593b8 我的掘金:https: ...
- ceph工作原理
一.概述 Ceph是一个分布式存储系统,诞生于2004年,最早致力于开发下一代高性能分布式文件系统的项目.随着云计算的发展,ceph乘上了OpenStack的春风,进而成为了开源社区受关注较高的项目之 ...
- .NET机器学习 ML.NET 1.4预览版和模型生成器更新
ML.NET 是面向.NET开发人员的开源和跨平台机器学习框架. ML.NET 还包括Model Builder (一个简单的UI工具)和 CLI ,使用自动机器学习(AutoML)构建自定义 ...
- 在Ubuntu 18.04系统上安装Pydio Cells详细图文教程
前言 基于云的协作工具Pydio cell提供了一系列灵活的特性,包括应用内消息传递.文件共享和版本控制.下面逐步介绍安装过程. Pydio cell最初是一个简单的基于云的文件共享系统,但经过升 ...