Selenium(8):对常用元素进行的操作

常用元素操作

  定位到元素后,需要对元素进行操作,常见的有鼠标点击、键盘操作等,这取决于我们定位到的对象支撑哪些操作。一般来说,所有与页面交互的操作都将通过WebElement接口。

webdriver中常用的操作元素的方法有如下几个:

1、clear():清除对象的内容

  driver.find_element(By.XPATH,'//input[@id="kw"]').clear()

2、send_keys():在对象上模拟按键输入

  driver.find_element(By.XPATH,'//input[@id="kw"]').send_keys('python')

3、click():单击对象,模拟用户点击

  driver.find_element(By.XPATH,'//a[text()="地图"]').click()

4、submit():提交表单,要求对象必须是表单

  driver.find_element(By.ID,'form').submit()
5、size:返回对象的尺寸

  driver.find_element(By.XPATH,'//input[@id="kw"]').size

6、text:获取对象的文本

  driver.find_element(By.XPATH,'//a[text()="地图"]').text

7、get_attribute(“属性名”):获取对象的属性值

  driver.find_element(By.XPATH,'//input[@id="kw"]').get_attribute('maxlength')

8、is_displayed():用来判断对象是否可见,即css的display属性是否为none

  driver.find_element(By.XPATH,'//input[@id="kw"]').is_displayed()

9、is_enabled():判断对象是否被禁用

  driver.find_element(By.XPATH,'//input[@id="kw"]').is_enabled()

10、is_selected():判断对象是否被选中

  driver.find_element(By.XPATH,'//input[@id="kw"]').is_selected()

11、tag_name:获取对象标签名称

  driver.find_element(By.XPATH,'//input[@id="kw"]').tag_name

12、location:获取元素坐标

  driver.find_element(By.XPATH,'//input[@id="kw"]').location

13、screenshot('截图名称'):截图
  driver.find_element(By.XPATH,'//input[@id="su"]').screenshot('test_baidu.png')
 
代码如下:
以百度首页为例
import os
import time

from selenium import webdriver
from selenium.webdriver.common.by import By

current_path = os.path.dirname(os.path.abspath(__file__))  # 当前路径
driver_path = os.path.join(current_path,'../webdriver/chromedriver.exe')  # driver路径
driver = webdriver.Chrome(executable_path=driver_path)  # Firefox,Ie等

driver.get('https://www.baidu.com/')  # 打开网站

# send_keys()  模拟按键输入值
driver.find_element(By.XPATH,'//input[@id="kw"]').send_keys('python')
time.sleep(2)

# clear()  清除对象的内容
driver.find_element(By.XPATH,'//input[@id="kw"]').clear()
time.sleep(2)

# click()  模拟用户点击
driver.find_element(By.XPATH,'//a[text()="地图"]').click()

# text 获取对象的文本
element_a = driver.find_element(By.XPATH,'//a[@href="http://tieba.baidu.com/"]')
print(element_a.text)

# 截图
driver.find_element(By.XPATH,'//input[@id="su"]').screenshot('test_baidu.png')

element_obj = driver.find_element(By.XPATH,'//input[@id="kw"]')
print(element_obj.size)  # size 获取元素的尺寸
print(element_obj.get_attribute('maxlength'))  # get_attribute("属性名") 获取指定属性的值
print(element_obj.is_displayed())  # is_displayed() 元素是否显示
print(element_obj.is_enabled())    # is_enabled()   元素是否可用
print(element_obj.is_selected())   # is_selected()  复选框是否被选中
print(element_obj.tag_name)   # tag_name  获取元素的标签名
print(element_obj.location)   # location  获取元素左上角的坐标

 

 

 
 
 
 
 
 
posted @ 2021-11-25 14:53  奔跑在路上you  阅读(269)  评论(0编辑  收藏  举报