目录
location_once_scrolled_into_view()
一 WebElement介绍
源码:
表示DOM元素。
通常,与文档交互的所有有趣操作都将是通过此界面执行。
所有方法调用都会进行最新的检查以确保元素参考仍然有效。 这基本上决定了是否元素仍然附加到DOM。 如果此测试失败, 那么抛出``StaleElementReferenceException``,以及将来所有的调用实例将失败。“”
二 元素操作
- clear() 清除文本
- send_keys(*value) 模拟按键输入
- click() 点击元素
1. clear # 清除文本
2. send_keys() # 模拟按键输入
3. click() #点击元素
例子:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.126.com")
driver.find_element_by_id("idInput").clear()
driver.find_element_by_id("idInput").send_keys("username")
driver.find_element_by_id("pwdInput").clear()
driver.find_element_by_id("pwdInput").send_keys("password")
driver.find_element_by_id("loginBtn").click()
driver.quit()
4. submit() 提交
例子:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.youdao.com")
driver.find_element_by_id('query').send_keys('hello')
# 提交
driver.find_element_by_id('query').submit()
driver.quit()
5. size: #大小
例子:
#coding=utf-8
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
#获得输入框的尺寸
size=driver.find_element_by_id('kw').size
print size
三 获取元素属性
(1)简单说,get_property 就是取元素属性的,该元素有id,有name,就可以通过该方法取;
(2)get_attribute("value"),就是去文本框中输入的内容。
(3).text 属性,就是元素本身的文字显示。
1. text # 元素本身文字
例子:
import time
from selenium import webdriver
driver = webdriver.Firefox()
driver.implicitly_wait(10)
driver.get("https://www.baidu.com")
text = driver.find_element_by_id("setf").text
print text
结果:
2. get_attribute() # 获得元素特性
返回的是元素的特性,可以返回id,name,type以及其他任意的元素属性,如果没,则返回None
例子:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
#返回元素的属性值,可以是 id、name、type 或元素拥有的其它任意属性
attribute=driver.find_element_by_id("kw").get_attribute('type')
print attribute
结果:
3. get_property # 获得元素的属性
4. tag_name
例子:
import time
from selenium import webdriver
driver = webdriver.Firefox()
driver.implicitly_wait(10)
driver.get("https://www.baidu.com")
tag = driver.find_element_by_id("kw").tag_name
print tag
结果:
四 元素判断
1. is_displayed() # 判断元素是否显示
例子:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
#返回元素的结果是否可见,返回结果为 True 或 False
result=driver.find_element_by_id("kw").is_displayed()
print result
返回结果:
2. is_selected() # 判断元素是否选中状态
例子:
# coding:utf-8
from selenium import webdriver
import time
browser = webdriver.Chrome()
browser.get("https://www.baidu.com/")
browser.maximize_window()
time.sleep(1)
browser.find_element_by_xpath("//div[@id='u1']/a[@name='tj_login']").click() # 找到登录按钮并点击
time.sleep(1)
# is_selected():判断元素是否被选中,结果为一个布尔值,True或False
if browser.find_element_by_xpath("//p[@id='TANGRAM__PSP_10__memberPassWrapper']/input").is_selected():
print("默认已选中...")
else:
print("默认未选中...")
3. is_enable() # 是否enable
例子:
driver.find_element_by_id("iptPassword").is_enabled()
location_once_scrolled_into_view()
location()
获取元素左上角的坐标
用法 driver.element.location
'''返回element的x坐标, int类型'''
driver.element.location.get('x')
'''返回element的y坐标, int类型'''
driver.element.location.get('y')
rect: 元素的大小和位置的字典