深入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()
后续再补充其他的
上一篇: 北海艺术设计学院综合实力展示:来看它是否值得一读!
下一篇: 详解Java数据结构之平衡二叉树
推荐阅读
-
Spring Boot分布式系统实践【基础模块构建3.3】注解轻松实现操作日志记录
-
Simulink基础:基本模块操作3(积分示例与From Workspace 模块)
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第17章: IO操作深入:课时83:RandomAccessFile
-
阿里Java学习路线:阶段 1:Java语言基础-Java语言高级特性:第17章: IO操作深入:课时82:管道流
-
Python模块与文件基础操作
-
深入selenium模块基础操作
-
响应式网络相册及node.js常规模块下载更新基础操作
-
Spring Boot分布式系统实践【基础模块构建3.3】注解轻松实现操作日志记录
-
Python模块与文件基础操作
-
响应式网络相册及node.js常规模块下载更新基础操作