本系列主要讲解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详解(三)的更多相关文章

  1. selenium webdriver API详解(二)

    本系列主要讲解webdriver常用的API使用方法(注意:使用前请确认环境是否安装成功,浏览器驱动是否与谷歌浏览器版本对应) 一:获取当前页面的title(一般获取title用于断言) from s ...

  2. selenium webdriver API详解(一)

    本系列主要讲解webdriver常用的API使用方法(注意:使用前请确认环境是否安装成功,浏览器驱动是否与谷歌浏览器版本对应) 一:打开某个网址:get() from selenium import ...

  3. Selenium常用API详解介绍

    转至元数据结尾   由 黄从建创建, 最后修改于一月 21, 2019 转至元数据起始   一.selenium元素定位 1.selenium定位方法 2.定位方法的用法 二.控制浏览器操作 1.控制 ...

  4. Webdriver之API详解(1)

    说明 Webdriver API详解,基于python3,unittest框架,driver版本和浏览器自行选择. 本内容需要对python3的unittest框架有一个简单的了解,这里不再赘述,不了 ...

  5. Webdriver之API详解(2)

    前言:今天继续上一篇文章https://www.cnblogs.com/linuxchao/p/linuxchao-selenium-apione.html分享selenium' webdriver ...

  6. Python爬虫之selenium库使用详解

    Python爬虫之selenium库使用详解 本章内容如下: 什么是Selenium selenium基本使用 声明浏览器对象 访问页面 查找元素 多个元素查找 元素交互操作 交互动作 执行JavaS ...

  7. Java 8 Stream API详解--转

    原文地址:http://blog.csdn.net/chszs/article/details/47038607 Java 8 Stream API详解 一.Stream API介绍 Java8引入了 ...

  8. jqGrid APi 详解

    jqGrid APi 详解 jqGrid皮肤 从3.5版本开始,jqGrid完全支持jquery UI的theme.我们可以从http://jqueryui.com/themeroller/下载我们所 ...

  9. 网络编程socket基本API详解(转)

    网络编程socket基本API详解   socket socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信. socket ...

随机推荐

  1. 多条件查询接收很多参数的时候要用Map接收。

    好处是,以后修改查询条件的时候不用从接口,到实现类,到controller的参数都要修改, 假如加一个查询条件,只需要前端多传一个参数值,都用map<>键值对接收,只需要在 service ...

  2. [转]MVP+WCF+三层结构搭建项目框架

    最近,我一直在重构之前做的一个项目,在这个过程中感慨万千.原先的项目是一个运用了WCF的C/S系统,在客户端运用了MVC模式,但MVC的View.Model耦合以及WCF端分布式欠佳等问题让我有了重构 ...

  3. [LuoguP1363]幻想迷宫

    [LuoguP1363]幻想迷宫(Link) 现在有一个迷宫,从迷宫边界的任意一点可以走到对面,即:若都是路面,则可以从\((1, i)\)走到\((N, i)\).其余情况依旧.问是否可以从指定的起 ...

  4. Selenium自动化测试之数据驱动及用例管理

    Selenium自动化测试之数据驱动及用例管理 一.TestNg注解介绍 @Test:表示一个测试方法,在运行测试用例过程中,会自动运行@Test注解的方法. 例:

  5. DataFrame 加减乘除

    headlist = ['a', 'b'] datalist = [[1, 2], [0,3], [3,2]] df = pd.DataFrame(data=datalist,columns=head ...

  6. 404 Note Found 队-需求报告

    目录 组队后的团队项目的整体计划安排 项目logo及思维导图 项目logo 思维导图 产品思维导图 产品思维导图-引导 产品思维导图-后端数据处理.存储 产品思维导图-短信识别 产品思维导图-智能分析 ...

  7. NodeJS平台下的前后端文件共享

    一.前后端文件共享的需要背景——为什么需要共享? 项目基本JS/NodeJS全端开发,有部分代码前后端都需要用得到 有一些配置是在前后端都需要用得到的 区别其他开发平台,NodeJS平台下的前后端文件 ...

  8. 再论C++引用(reference)类型

    很多C++初学者搞不清楚C++引用类型,不知有什么用,所以也不知怎么用.一个问题令人迷惑,不是读者有问题,而是教科书有问题. 和多数初学者一样,笔者在初学C++时,关于引用类型,教科书上也是如下表所述 ...

  9. 832. Flipping an Image (5月22日 )

    解答 class Solution { public: vector<vector<int>> flipAndInvertImage(vector<vector<i ...

  10. MySQL:如何导入导出数据表和如何清空有外建关联的数据表

    1.导入导出 导入数据库:前提:数据库和数据表要存在(已经被创建) (1)将数据表 test_user.sql 导入到test 数据库的test_user 表中 [root@test ~]# mysq ...