selenium webdriver API详解(三)
本系列主要讲解webdriver常用的API使用方法(注意:使用前请确认环境是否安装成功,浏览器驱动是否与谷歌浏览器版本对应)
一:获取页面元素的文本内容:text
例:获取我的博客名字文本内容

代码:
from selenium import webdriver # 导入webdriverimport timedriver = webdriver.Chrome() # 实例化driver.get('https://www.cnblogs.com/kevin-liutianping/') # 打开我的博客time.sleep(1) # 等待2sa = driver.find_element_by_id('Header1_HeaderTitle') # 定位元素print(a.text) # 获取元素文本driver.quit() # 关闭浏览器进程
结果:

二:获取元素的属性值:get_attribute()
例:获取href的属性值

代码:
from selenium import webdriver # 导入webdriverimport timedriver = webdriver.Chrome() # 实例化driver.get('https://www.cnblogs.com/kevin-liutianping/') # 打开我的博客time.sleep(1) # 等待2sa = driver.find_element_by_id('Header1_HeaderTitle') # 定位元素print(a.get_attribute('href')) # 获取元素的href属性值driver.quit() # 关闭浏览器进程
结果:

三:判断页面元素是否可见:is_displayed()(注意:就算元素不可见,但是还是可以定位到的,只是这个元素不能操作)
例:判断标红元素是否可见

代码:
from selenium import webdriver # 导入webdriverimport timedriver = webdriver.Chrome() # 实例化driver.get('https://www.cnblogs.com/kevin-liutianping/') # 打开我的博客time.sleep(1) # 等待2sa = driver.find_element_by_id('footer') # 定位元素print(a.is_displayed()) # 判断页面元素是否可见driver.quit() # 关闭浏览器进程
结果:可见返回true,不可见返回flase

四:判断页面元素是否可以操作:is_enabled()
例:判断标红元素是否可以操作

代码:
from selenium import webdriver # 导入webdriverimport timedriver = webdriver.Chrome() # 实例化driver.get('https://www.cnblogs.com/kevin-liutianping/') # 打开我的博客time.sleep(1) # 等待2sa = driver.find_element_by_id('footer') # 定位元素print(a.is_enabled()) # 判断页面元素是否可操作driver.quit() # 关闭浏览器进程
结果:

五:在输入框输入指定的内容:send_keys()
from selenium import webdriver # 导入webdriverimport timedriver = webdriver.Chrome()driver.get('https://www.baidu.com/')driver.find_element_by_id('kw').send_keys('博客园') # 在百度输入框中输入博客园driver.find_element_by_id('su').click() # 点击百度一下time.sleep(1)driver.quit()
六:单击按钮:click()
from selenium import webdriver # 导入webdriverimport timedriver = webdriver.Chrome()driver.get('https://www.baidu.com/')driver.find_element_by_id('kw').send_keys('博客园') # 在百度输入框中输入博客园driver.find_element_by_id('su').click() # 点击百度一下time.sleep(1)driver.quit()
七:清空输入框的内容:clear()
from selenium import webdriver # 导入webdriverimport timedriver = webdriver.Chrome()driver.get('https://www.baidu.com/')driver.find_element_by_id('kw').send_keys('博客园') # 在百度输入框中输入博客园time.sleep(1)driver.find_element_by_id('kw').clear() # 清空输入框driver.quit()
八:获取元素的css属性值:value_of_css_property()
from selenium import webdriver # 导入webdriverimport timedriver = webdriver.Chrome()driver.get('https://www.baidu.com/')a = driver.find_element_by_id('kw')print(a.value_of_css_property('font')) # 获取a元素的css font值driver.quit()结果:
selenium webdriver API详解(三)的更多相关文章
- selenium webdriver API详解(二)
本系列主要讲解webdriver常用的API使用方法(注意:使用前请确认环境是否安装成功,浏览器驱动是否与谷歌浏览器版本对应) 一:获取当前页面的title(一般获取title用于断言) from s ...
- selenium webdriver API详解(一)
本系列主要讲解webdriver常用的API使用方法(注意:使用前请确认环境是否安装成功,浏览器驱动是否与谷歌浏览器版本对应) 一:打开某个网址:get() from selenium import ...
- Selenium常用API详解介绍
转至元数据结尾 由 黄从建创建, 最后修改于一月 21, 2019 转至元数据起始 一.selenium元素定位 1.selenium定位方法 2.定位方法的用法 二.控制浏览器操作 1.控制 ...
- Webdriver之API详解(1)
说明 Webdriver API详解,基于python3,unittest框架,driver版本和浏览器自行选择. 本内容需要对python3的unittest框架有一个简单的了解,这里不再赘述,不了 ...
- Webdriver之API详解(2)
前言:今天继续上一篇文章https://www.cnblogs.com/linuxchao/p/linuxchao-selenium-apione.html分享selenium' webdriver ...
- Python爬虫之selenium库使用详解
Python爬虫之selenium库使用详解 本章内容如下: 什么是Selenium selenium基本使用 声明浏览器对象 访问页面 查找元素 多个元素查找 元素交互操作 交互动作 执行JavaS ...
- Java 8 Stream API详解--转
原文地址:http://blog.csdn.net/chszs/article/details/47038607 Java 8 Stream API详解 一.Stream API介绍 Java8引入了 ...
- jqGrid APi 详解
jqGrid APi 详解 jqGrid皮肤 从3.5版本开始,jqGrid完全支持jquery UI的theme.我们可以从http://jqueryui.com/themeroller/下载我们所 ...
- 网络编程socket基本API详解(转)
网络编程socket基本API详解 socket socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信. socket ...
随机推荐
- 理解java的三大特性之多态
所谓多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个 ...
- Python 基于request库的get,post,delete,封装
# coding=utf-8 import json import requests class TestApi(object): """ /* @param: @ses ...
- ansible copy 模块 changed false 没有变化
在分发配置文件的时候,我用命令ansible big_hosthub -m copy -a "src=/home/clouder/deploy-conf.xml dest=/home/cl ...
- 学习使用 ARM 的 math 库,据说 速度比C标准库 自带的 快 几十倍 到几百倍
1.首先 添加 库 到 工程 ,路径 如下 C:\Keil\ARM\CMSIS\Lib\ARM 2.包含头文件以及在 工程里 添加 头文件 路径如下 C:\Keil\ARM\CMSIS\Includ ...
- [java之设计模式]策略模式
策略模式(strategy pattern) 定义>> 将一系列的算法封装到一些列的类里面,并且可以相互替换 作用>> 将算法的变化独立于客户端,将算法的指责和算法的行为分开, ...
- es6 入坑笔记(四)---异步处理
promise 用于js的异步处理 形式: 1.申明一个promise的对象 let p = new Promise(function(成功时的参数,失败时的参数){ if(....){ 成功时的参数 ...
- 偏前端-vue.js学习之路初级(二)组件化构建
vue.js 组件化构建 组件系统是 Vue 的另一个重要概念,因为它是一种抽象,允许我们使用小型.自包含和通常可复用的组件构建大型应用.仔细想想,几乎任意类型的应用界面都可以抽象为一个组件树: ...
- 偏前端-HTML5 sessionStorage-会话存储
sessionStorage 是HTML5新增的一个会话存储对象,用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据.本篇主要介绍 sessionStorage(会话存储) ...
- shell的奇淫巧技--自动化脚本(sed命令)
使用场景:前段时间交易所项目需要在服务器上用到 根据websocket推送价格数据,在交易所内进行下单撤单处理,但是由于有多个交易对,在服务器上部署时候,略显繁琐.(撮合引擎同样有此问题,可以一并解决 ...
- PHP实现验证码功能
原文链接:http://www.qqdeveloper.com/a/54.html 什么是验证码? 借用百度的解释:验证码这个词最早是在2002年由卡内基梅隆大学的路易斯·冯·安.Manuel Blu ...