网站首页 > 精选文章 正文
Selenium常见控件定位方法
通过name属性值定位
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
#自定义一个函数
def name_position_method():
#实例化chromedriver对象
driver = webdriver.Chrome()
#打开一个网页
driver.get('http://www.baidu.com')
#强等3秒
time.sleep(3)
#如果没有报错,证明元素找到了
#如果报错no such element,代表元素定位可能出错
#通过元素的name属性值查找“更多”选项,并实现点击操作
driver.find_element(By.NAME, 'tj_briicon').click()
#强等5秒
time.sleep(5)
#if __name__ == '__main__':的作用:限制class_name_position_method()函数只能作为本脚本内的函数直接被调用,而不能被其他脚本文件import调用
if __name__ == '__main__':
name_position_method()
通过id属性值定位
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
#自定义一个函数
def id_position_method():
#实例化chromedriver对象
driver = webdriver.Chrome()
#打开网站
driver.get('http://www.baidu.com')
#强等3秒
time.sleep(3)
#定位,第一个参数传递定位方式,第二个参数传递定位元素,调用这个方法的返回值为WebElement
#通过元素的id属性值查找“百度一下”按钮,并实现点击操作
driver.find_element(By.ID, 'su').click()
#强等5秒
time.sleep(5)
#if __name__ == '__main__':的作用:限制class_name_position_method()函数只能作为本脚本内的函数直接被调用,而不能被其他脚本文件import调用
if __name__ == '__main__':
id_position_method()
通过css选择器表达式定位
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
#自定义一个函数
def css_selector_position_method():
#实例化chromedriver对象
driver = webdriver.Chrome()
#打开网站
driver.get('http://www.baidu.com')
#强等3秒
time.sleep(3)
#通过元素的css选择器表达式,查找“文库”选项,并实现点击操作
driver.find_element(By.CSS_SELECTOR, '#s-top-left > a:nth-child(8)').click()
#强等5秒
time.sleep(5)
#if __name__ == '__main__':的作用:限制class_name_position_method()函数只能作为本脚本内的函数直接被调用,而不能被其他脚本文件import调用
if __name__ == '__main__':
css_selector_position_method()
通过xpath定位
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
#自定义一个函数
def xpath_position_method():
#实例化chromedriver对象
driver = webdriver.Chrome()
#打开网站
driver.get('http://www.baidu.com')
#强等3秒
time.sleep(3)
#通过元素的xpath路径,查找“网盘”选项,并实现点击操作
driver.find_element(By.XPATH, '/html/body/div[2]/div[1]/div[3]/a[7]').click()
#强等5秒
time.sleep(5)
#if __name__ == '__main__':的作用:限制class_name_position_method()函数只能作为本脚本内的函数直接被调用,而不能被其他脚本文件import调用
if __name__ == '__main__':
xpath_position_method()
通过class类名定位
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
#自定义一个函数
def class_name_position_method():
#实例化chromedriver对象
driver = webdriver.Chrome()
#打开网站
driver.get('http://www.baidu.com')
#强等3秒
time.sleep(3)
#通过元素的类名CLASS_NAME,查找“新闻”选项,并实现点击操作
driver.find_element(By.CLASS_NAME, 'mnav').click()
#强等5秒
time.sleep(5)
#if __name__ == '__main__':的作用:限制class_name_position_method()函数只能作为本脚本内的函数直接被调用,而不能被其他脚本文件import调用
if __name__ == '__main__':
class_name_position_method()
通过link_text文本链接定位
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
#自定义一个函数
def link_text_position_method():
#实例化chromedriver对象
driver = webdriver.Chrome()
#打开网站
driver.get('http://www.baidu.com')
#强等3秒
time.sleep(3)
#通过文本链接的方式:1.元素一定是a标签 2.输入的元素为标签内的文本
#通过元素的link_text 文本链接,查找“hao123”选项,并实现点击操作
driver.find_element(By.LINK_TEXT, "hao123").click()
#强等5秒
time.sleep(5)
#if __name__ == '__main__':的作用:限制class_name_position_method()函数只能作为本脚本内的函数直接被调用,而不能被其他脚本文件import调用
if __name__ == '__main__':
link_text_position_method()
通过partial_link_text部分文本链接定位
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
#自定义一个函数
def partial_link_text_position_method():
#实例化chromedriver对象
driver = webdriver.Chrome()
#打开网站
driver.get('http://www.baidu.com')
#强等3秒
time.sleep(3)
#通过文本链接的方式:1.元素一定是a标签 2.输入的元素为标签内的文本
#通过元素的partial link text 部分文本链接,如果多个元素匹配,则只会选择第一个元素,查找“hao123”选项,并实现点击操作
driver.find_element(By.LINK_TEXT, "hao123").click()
#强等5秒
time.sleep(5)
#if __name__ == '__main__':的作用:限制class_name_position_method()函数只能作为本脚本内的函数直接被调用,而不能被其他脚本文件import调用
if __name__ == '__main__':
partial_link_text_position_method()
通过tag_name元素本身标签名称定位
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
#自定义一个函数
def tag_name_position_method():
#实例化chromedriver对象
driver = webdriver.Chrome()
#打开网站
driver.get('https://cn.bing.com/?mkt=zh-cn')
#强等3秒
time.sleep(3)
#通过元素的本身标签名称,查找“图片”选项,并实现点击操作
driver.find_element(By.TAG_NAME, "a").click()
#强等5秒
time.sleep(5)
#if __name__ == '__main__':的作用:限制class_name_position_method()函数只能作为本脚本内的函数直接被调用,而不能被其他脚本文件import调用
if __name__ == '__main__':
tag_name_position_method()
霍格沃兹的测试管理班是专门面向测试与质量管理人员的一门课程,通过提升从业人员的团队管理、项目管理、绩效管理、沟通管理等方面的能力,使测试管理人员可以更好的带领团队、项目以及公司获得更快的成长。提供 1v1 私教指导,BAT 级别的测试管理大咖量身打造职业规划。
猜你喜欢
- 2025-09-06 源码分享 在aardio中用htmlayout写一个的漂亮UI软件界面
- 2025-09-06 在线CAD 的前端框架搭建(网页显示CAD图纸)
- 2025-09-06 网页CAD的mxdraw库实现Autocad中的圆
- 2025-09-06 QML控件类型:ComboBox、Control_qml自定义控件
- 2025-09-06 移动开发框架的选择:原生?Web?还是混合?
- 2025-09-06 开源WPF控件库推荐:ModernWpf_wpf frame控件
- 2025-09-06 React Native控件之View视图讲解_react native 绘图
- 2025-09-06 DevExpress v16.1新功能介绍_devexpress最新版本
- 2025-09-06 如何使用Wijmo控件创建VueJS应用程序?
- 2025-09-06 如何在ReactJS应用程序中使用Wijmo控件?
- 最近发表
- 标签列表
-
- 向日葵无法连接服务器 (32)
- git.exe (33)
- vscode更新 (34)
- dev c (33)
- git ignore命令 (32)
- gitlab提交代码步骤 (37)
- java update (36)
- vue debug (34)
- vue blur (32)
- vscode导入vue项目 (33)
- vue chart (32)
- vue cms (32)
- 大雅数据库 (34)
- 技术迭代 (37)
- 同一局域网 (33)
- github拒绝连接 (33)
- vscode php插件 (32)
- vue注释快捷键 (32)
- linux ssr (33)
- 微端服务器 (35)
- 导航猫 (32)
- 获取当前时间年月日 (33)
- stp软件 (33)
- http下载文件 (33)
- linux bt下载 (33)