浅谈selenium的webdriver(python自动化)
2022/2/7 22:47:49
本文主要是介绍浅谈selenium的webdriver(python自动化),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
提前约定一些变量
from selenium import webdriver driver = webdriver.Chrome() url="xxx" driver.get(url)
定位方法
通过元素id定位
driver.find_element(By.ID,'id')
通过元素name定位
driver.find_element(By.NAME,'name')
通过类名进行定位
driver.find_element(By.CLASS_NAME,'class_name')
通过标签定位
driver.find_element(By.TAG_NAME,'tag_name')
通过xpath表达式定位
driver.find_element(By.XPATH,'xpath')
通过css选择器进行定位
driver.find_element(By.CSS_SELECTOR,'css_selector')
通过完整超链接定位
driver.find_element(By.LINK_TEXT,'link_text')
通过部分链接定位
driver.find_element(By.PARTIAL_LINK_TEXT,'partial_link_text')
webdriver的成员&函数
获取当前页面的title
title = driver.title print(title)
获取当前页的url
url = driver.current_url print(url)
获得输入框的尺寸
input_size = driver.find_element(By.ID,'id').size print(input_size)
获得文本信息
注意:不能获取到输入框的文本信息,下文会介绍怎么获取
text = driver.find_element(By.ID,'id').text print(text)
返回元素的属性值, 可以是 id、 name、 type 或其他任意属性
attribute = driver.find_element(By.ID,'id').get_attribute('type') print(attribute)
返回元素的结果是否可见, 返回结果为 True 或 False
result = driver.find_element(By.ID,'id').is_displayed() print(result)
向input框send信息
driver.find_element(By.ID,'id').send_keys("xxx")
关闭所有标签页
driver.quit()
关于输入框文本获取
上面已经提到了通过text不能获取到输入框的数据,于是我们有下面三种方式去获取
方法一
- 首先先往input框里面send一些东西
driver.find_element(By.ID,'id').send_keys('xxx')
- 然后通过attr获取value值,这里需要注意:使用这个方法需要保证input框有value这个属性
result = driver.execute_script('return $("#id").attr("name");') print(result)
方法二
直接通过js获取定位的数据,通过.val()
的方法获取
result = driver.execute_script('return $("#id").val();') print(result)
方法三(推荐使用)
通过selenium
的get_attribute
获取
result = driver.find_element(By.ID,'id').get_attribute('value') print(result)
一些异常
后续会逐步更新
NoSuchElementException
这个异常发生在没找到该元素造成的,对于一些定位失败的时候我们就可以处理
from selenium.common.exceptions import NoSuchElementException try: tt = driver.find_element(By.XPATH, '//*[@id="panel"]/div[3]/div/div[1]/div/div/form/div[2]/div[1]/label/div/input').get_attribute('value') tt=tt.replace(" ",",") tt=tt.replace("-",",") # print(tt) driver.find_element(By.NAME,'tag').click() # 点击标签框 # driver.find_element(By.NAME,'tag').clear() # 清空框 driver.find_element(By.NAME,'tag').send_keys(tt) # 自动敲入用户名 # driver.find_element(By.XPATH,'//*[@id="panel"]/div[3]/div/div[1]/div/div/form/div[5]/div/button[1]').click()# 点击“保存”按钮 except NoSuchElementException: print("no page ",ipp)
这篇关于浅谈selenium的webdriver(python自动化)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享
- 2024-11-06Python 基础编程入门教程
- 2024-11-05Python编程基础:变量与类型
- 2024-11-05Python编程基础:变量与类型
- 2024-11-04Python编程基础:变量与类型