python+selenium的WebElement对象操作

webelement对象操作

webelement对象是selenium中所有元素的父类,也就是webelement对象拥有的方法,其它元素对象都会有;

只是不同的对象在调用特定方法时,效果是不一样的,即:

某些方法只是针对特定元素类型有效,而对其它类型无效。

(1)、clear:清空文本框中的文本,仅仅对有文本输入特性的元素有效;例如:文本框、多行文本框等;

(2)、click:单击元素,可以通过该方法,让元素获取焦点;

(3)、find_element系列:查找子元素的方法,同浏览器的find_element系列方法相同;

(4)、get_attribute:获取当前元素的特定属性值,如 name、style等;

(5)、id:表示当前元素在selenium中的唯一标识;

(6)、is_displayed:当前元素是否可见;

(7)、is_enabled:当前元素是否可用;

(8)、is_selected:当前元素是否被选中,通常在checkbox、radiobox、select option等元素上;

(9)、location:返回当前元素的左上角坐标X、Y的位置,即在当前页面中的绝对位置坐标;

(10)、location_once_scrolled_into_view:返回当前元素第一次滚动到可视区域时的左上角坐标X、Y的位置,使用此方法可以把不在可视区域的元素

滚动到可视区域;

(11)、parent:返回WebDriver对象;

(12)、rect:返回当前元素左上角坐标X、Y值,以及该元素的宽和高,即该元素的显示区域;

(13)、send_keys:向当前元素发送字符串内容,仅仅对可输入web元素有效,如文本框、文本区域等;

(14)、size:获取当前元素的宽和高;

(15)、submit:提交当前元素所在的form表单,相当于单击所在form表单内的submit;

(16)、tag_name:获取当前元素的tag name内容,如文本框的值为input;

(17)、text:获取当前元素的inneerText值,即元素开始标签和结束标签之间的文本内容;

(18)、value_of_css_property:获取当前元素的css属性,如获取color的属性值;

=======================================================================================================

from selenium import webdriverfrom time import sleep

driver = webdriver.Firefox()     # 指定和打开浏览器url1=‘http://www.baidu.com‘driver.get(url1)                    #打开第一个网址  #也可以写成:driver.get(‘http://www.baidu.com‘)sleep(5)

driver.find_element_by_id(‘kw‘).send_keys(‘中国‘)          #输入中国

print(driver.find_element_by_id(‘kw‘).is_displayed())    #TRUE                                   #是否可见

print(driver.find_element_by_id(‘kw‘).is_enabled())       #TRUE                              #当前元素是否可用

print(driver.find_element_by_id(‘kw‘).location)           #{‘x‘: 129, ‘y‘: 18}                     #返回X、Y

print(driver.find_element_by_id(‘kw‘).size)                #{‘height‘: 22.0, ‘width‘: 494.0}             #返回宽和高

print(driver.find_element_by_id(‘kw‘).rect)              #{‘x‘: 129.0, ‘y‘: 18.0, ‘width‘: 494.0, ‘height‘: 22.0}    #返回X、Y,宽和高,即可视区域

# http://www.baidu.com  首页html源代码## 输入框: <input id="kw" name="wd" class="s_ipt" value="" maxlength="255" autocomplete="off">## 确定按钮: <input type="submit" id="su" value="百度一下" class="bg s_btn">

print(driver.find_element_by_id(‘kw‘).tag_name)           #  inputprint(driver.find_element_by_id(‘kw‘).get_attribute(‘name‘))     #   wdprint(driver.find_element_by_id(‘kw‘).get_attribute(‘id‘))       #  kwprint(driver.find_element_by_id(‘kw‘).get_attribute(‘class‘))       # s_iptprint(driver.find_element_by_id(‘kw‘).get_attribute(‘value‘))     #  中国

print(driver.find_element_by_id(‘kw‘).parent)  # <selenium.webdriver.firefox.webdriver.WebDriver (session="ec5c73e4-93ce-4e0a-b74a-26b49b175fda")>

print(driver.find_element_by_id(‘kw‘).value_of_css_property(‘color‘))  #  rgb(0, 0, 0)   #获取当前元素的css属性,如获取color的属性值

driver.quit()

原文地址:https://www.cnblogs.com/xiaobaibailongma/p/12036837.html

时间: 2024-07-30 19:27:57

python+selenium的WebElement对象操作的相关文章

python+selenium下拉列表option对象操作方法一

参考官方文档:https://selenium.dev/selenium/docs/api/py/webdriver_support/selenium.webdriver.support.select.html?highlight=all_selected_options#selenium.webdriver.support.select.Select.all_selected_options 一.导入(import) from selenium.webdriver.support.select

python selenium鼠标键盘操作(ActionChains)

用selenium做自动化,有时候会遇到需要模拟鼠标操作才能进行的情况,比如单击.双击.点击鼠标右键.拖拽等等.而selenium给我们提供了一个类来处理这类事件--ActionChains selenium.webdriver.common.action_chains.ActionChains(driver) 这个类基本能够满足我们所有对鼠标操作的需求. 1.ActionChains基本用法 首先需要了解ActionChains的执行原理,当你调用ActionChains的方法时,不会立即执行

python 文件与目录的操作 &nbsp; 未完善 需要重新学习

文件与目录的操作:    -文件读写:python进行文件读写的函数是open或file file_handler = open(filename,mode) mode, 模式 说明 r 只读 r+ 读写 w 写入,先删除原文件,在重新写入,如果文件没有则 创建 w+ 读写,先删除原文件,在重新写入,如果文件没有则创建(可以写入输出) 读范例: >>> fo  = open('/tools/123/test.log')                                   

Python+Selenium笔记(九):操作警告和弹出框

#之前发的 driver.switch_to_alert() 这句虽然可以运行通过,但是会弹出警告信息(这种写法3.x不建议使用)  改成 driver.switch_to.alert就不会了. (一) 前言 开发人员使用JavaScript 警告或者模态对话框来提示校验错误信息.报警信息.执行操作后的返回信息,甚至用来接收输入值等. (二) Alert类 Selenium WebDriver 通过Alert 类来操控 JavaScript 警告. (三) Alert功能及方法 功能/属性 简单

Python的对象操作(一)

python支持对象和函数   1. python是解释型语言,逐行运行 2. 对象调用 例子:删除文件的一个例子 2.1 先定义一个类 class MyApp: 2.2 import 引用要用到的模块 __author__ = 'Bright' import shutil import os """ * 对象操作实战 * 上演出多个文件 """ class MyApp: def __init__(self, root): self.root =

python selenium系列(三)常用操作类型及方法

一 前言 开展WEB UI自动化的核心思路,无非就是找到元素,然后操作元素这两个内容.在python selenium系列(二)元素定位方式一文中,已经介绍了如何找到元素这项技能,本文将介绍第二项内容,即如何操作已经找到的元素. 二 操作方法分类 总体来说,可以将操作大体分成四类,即浏览器操作.键盘操作.鼠标操作.js脚本. 1.  浏览器常用操作方法: 方法 描述 driver.maximize_window() 窗口最大化 driver.back() 页面返回 driver.forward(

Python + Selenium + AutoIt 模拟键盘实现另存为、上传、下载操作详解

前言 在web页面中,可以使用selenium的定位方式来识别元素,从而来实现页面中的自动化,但对于页面中弹出的文件选择框,selenium就实现不了了,所以就需引用AutoIt工具来实现. AutoIt介绍 AutoIt简单介绍下,AutoIt 目前最新是v3版本,这是一个使用类似BASIC脚本语言的免费软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作.它利用模拟键盘按键,鼠标移动和窗口/控件的组合来实现自动化任务.而这是其它语言不可能做到或无可靠方法实现的(例如VBSc

【Selenium02篇】python+selenium实现Web自动化:鼠标操作和键盘操作!

一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第二篇博文 二.Selenium第一篇博文地址: [Selenium01篇]python+selenium实现Web自动化:搭建环境,Selenium原理,定位元素以及浏览器常规操作! 三.Selenium之鼠标操作和键盘操作 1.鼠标事件 在webdriver中,鼠标操作的方法封装在 ActionChai

python + selenium webdriver 通过python来模拟鼠标、键盘操作,来解决SWFFileUpload调用系统底层弹出框无法定位问题

Webdriver是基于浏览器操作的,当页面上传文件使用的是flash的控件SWFFileUpload调用的时候,调用的是系统底层的文件选择弹出框 这种情况,Webdriver暂时是不支持除页面外的其他操作 前期尝试过很多种方法,比如send_keys("path"),但是都无法解决 虽然Webdriver无法对底层进行操作,但是Python的扩展是可以的 通过模拟鼠标.键盘的操作,可以解决这个问题,但是这个方法比较笨,而且不怎么理想,如果有好的方法,请留言给我,谢谢! 解决方法: 1