通过WebElement接口获取值

  size  获取元素的尺寸

  text  获取元素的文本

  get_attribute(name)  获取属性值

  location  获取元素坐标,先找到要获取的元素,再调用该方法

  page_source  返回页面源码

  driver.title  返回页面标题

  current_url  获取当前页面的URL

  is_displayde()  判断该元素是否可见

  is_enabled()  判断元素是否被使用

  is_selected()  判断元素是否被选中

  tag_name  返回元素的tagName

例子:百度首页的 新闻按钮 

#! /usr/bin/env python
#coding=utf-8 from selenium import webdriver
import time url = "https://www.baidu.com/"
driver = webdriver.Firefox()
driver.get(url)
time.sleep(3) #size获取元素的尺寸
size = driver.find_element_by_id("kw").size
print("搜索框的尺寸:",size)
#搜索框的尺寸: {'height': 22, 'width': 500}
time.sleep(3) #text获取元素的文本
news = driver.find_element_by_name("tj_trnews").text
print("新闻按钮的文本:",news)
#新闻按钮的文本: 新闻
time.sleep(3) #get_attribute(name)获取属性值
href = driver.find_element_by_xpath(".//*[@id='u1']/a[1]").get_attribute("href")
name = driver.find_element_by_xpath(".//*[@id='u1']/a[1]").get_attribute("name")
print("新闻按钮的链接值:",href)
#新闻按钮的链接值: http://news.baidu.com/
print("新闻按钮的名字值:",name)
#新闻按钮的名字值: tj_trnews
time.sleep(3) #location获取元素坐标,先找到要获取的元素,再调用该方法
location = driver.find_element_by_xpath(".//*[@id='u1']/a[1]").location
print("新闻按钮的坐标值:",location)
#新闻按钮的坐标值: {'x': 574, 'y': 19} print("当前页面的URL:",driver.current_url)
#当前页面的URL: https://www.baidu.com/ print("当前页面的标题:",driver.title)
#当前页面的标题: 百度一下,你就知道 result1 = driver.find_element_by_xpath(".//*[@id='u1']/a[1]").is_displayed()
result2 = driver.find_element_by_name("tj_trnews").is_displayed()
print("新闻按钮是否可见1:",result1)
print("新闻按钮是否可见2:",result2)
#新闻按钮是否可见1: True
#新闻按钮是否可见2: True driver.quit()

  结果:

新闻按钮的名字值: tj_trnews
新闻按钮的坐标值: {'x': 574, 'y': 19}
当前页面的URL: https://www.baidu.com/
当前页面的标题: 百度一下,你就知道
新闻按钮是否可见1: True
新闻按钮是否可见2: True

 

WebElement接口获取值的更多相关文章

  1. Go-json解码到接口及根据键获取值

    Go-json解码到接口及根据键获取值 package main import ( "encoding/json" "fmt" "github.com ...

  2. 通过zabbix的API接口获取服务器列表

    Zabbix API说明 1) 基于Web的API,作为Web前端的一部分提供,使用JSON-RPC 2.0协议 2) 身份认证Token:在访问Zabbix中的任何数据之前,需要登录并获取身份验证令 ...

  3. java接口对接——别人调用我们接口获取数据

    java接口对接——别人调用我们接口获取数据,我们需要在我们系统中开发几个接口,给对方接口规范文档,包括访问我们的接口地址,以及入参名称和格式,还有我们的返回的状态的情况, 接口代码: package ...

  4. 从api接口获取数据-okhttp

    首先先介绍下api接口: API:应用程序接口(API:Application Program Interface) 通常用于数据连接,调用函数提供功能等等... 从api接口获取数据有四种方式:Ht ...

  5. JAVA枚举操作(获取值,转map集合)

    JAVA枚举相对来说比.NET的枚举功能强大,感觉就像是一种简化版的类对象,可以有构造方法,可以重载,可以继承接口等等,但不能继承类,JAVA枚举在实际开发中应用相当频繁,以下几个封装方法在实际开发中 ...

  6. Struts2_day03--课程安排_OGNL概述入门_什么是值栈_获取值栈对象_值栈内部结构

    Struts2_day03 上节内容 今天内容 OGNL概述 OGNL入门案例 什么是值栈 获取值栈对象 值栈内部结构 向值栈放数据 向值栈放对象 向值栈放list集合 从值栈获取数据 获取字符串 获 ...

  7. 接口返回值结果转换成JSON

    接口返回值结果转换成JSON,具体的方法如下: public static String GetJsonValue(String result,int index,String key){ int i ...

  8. flutter 从接口获取json数据显示到页面

    如题,在前端,是个很简单的ajax请求,json的显示,取值都很方便,换用dart之后,除了层层嵌套写的有点略难受之外,还有对json的使用比js要麻烦 1. 可以参照 flutter-go 先封装一 ...

  9. Vue学习笔记十三:Vue+Bootstrap+vue-resource从接口获取数据库数据

    目录 前言 SpringBoot提供后端接口 Entity类 JPA操作接口 配置文件 数据库表自动映射,添加数据 写提供数据的接口 跨域问题 前端修改 效果图 待续 前言 Vue学习笔记九的列表案例 ...

随机推荐

  1. java栈的最大深度?

    1. 概述 某公司面试,总监大叔过来,问了图论及栈的最大深度,然后^_^ 一直记着,今天搞一下 2. 代码 package com.goodfan.test; public class JavaSta ...

  2. 嵌入式开发之手机arm汇总---科普手机arm

    http://www.leiphone.com/news/201406/1102-zzl-arm.html

  3. Spring Cloud 微服务四:熔断器Spring cloud hystrix

    前言:在微服务架构中,一般都是进程间通信,有可能调用链都比较长,当有底层某服务出现问题时,比如宕机,会导致调用方的服务失败,这样就会发生一连串的反映,造成系统资源被阻塞,最终可能造成雪崩.在sprin ...

  4. vue实践---vue不依赖外部资源实现简单多语

    vue使用多语,最常见的就是 vue-i18n, 但是如果开发中的多语很少,比如就不到10个多语,这样就没必要引入vue-i18n了, 引入了反正导致代码体积大了,这时候单纯用vue实现多语就是比较好 ...

  5. ASP.NET动态网站制作(16)-- SQL数据库(2)

    前言:SQL数据库的第二节课,继续讲解基本的语句及用法. 内容: 1.insert插入语句  insert into Book(bookName,bookPrice,bookAuthor) value ...

  6. error items-9022:missing required icon file.the bundle does not contain an app icon for iPhone/iPad Touch of exactly '120x120' pixels,in.pen format for ios versions >= 7.0

    error items-9022:missing required icon file.the bundle does not contain an app icon for iPhone/iPad ...

  7. C语言基础知识【变量】

    C 变量1.变量其实只不过是程序可操作的存储区的名称.C 中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上.变量的名称可以由字母.数字和下 ...

  8. lua(注册c库)

    #include <iostream> #include <string.h> extern "C" { #include "lua-5.2.2/ ...

  9. 大组合取模之:1<=n<=m<=1e6,1<=p<=1e9

    /****************************** 大组合取模之:1<=n<=m<=1e6,1<=p<=1e9 使用:程序最开始调用getprime(),需要 ...

  10. 京东android面试题(2018 顶级互联网公司面试题系列)

    以下来自于北京的一个兄弟的面试题 1.静态内部类和非静态内部类有什么区别  2.谈谈你对java多态的理解  3.如何开启线程,run和runnable有什么区别  4.线程池的好处  5.说一下你知 ...