Selenium+JQuery定位方法及应用
1、关于Selenium提供了很多元素定位方法,这里不再赘述了。本文主要学习和了解JQuery的定位; 2、那为什么还要做JQuery进行定位呢?因为有的页面使用Selenium方法不能解决,所以可以尝试使用JQuery定位。
1 JQuery定位说明
1.1 JQuery定位方法
JQuery
定位方法有两种:
# 1、使用JQuery选择器来完成元素操作(直接获取对应的元素);
# 2、使用JQuery遍历来选择元素(用于层级较为复杂的页面元素获取)。
JQuery
语法:
$(selector).action()
JQuery
通过$
符号定义,selector
主要用于获取基本的HTML
元素,action()
用于实现对获取元素的基本操作。
1.2 JQuery最常用的三个操作
$(selector).val("input_value")
:input_value
为输入的文本信息;$(selector).val("")
:清空输入的内容;$(selector).click()
:单击操作。
1.3 JQuery一个示例
- 测试对象为禅道的登陆界面:
在这里插入图片描述
1.3.1 用户名输入框
- 页面源码:
input class="form-control" type="text" name="account" id="account" autocomplete="off" autofocus="">
- 在控制台中输入
$("input")
可以看到有3个内容,鼠标放到第一个,我们发现是用户名的输入框,如下:在这里插入图片描述
- 那么说明用户名的选择器为:
$("input:first")
在这里插入图片描述
1.3.2 密码输入框
- 页面源码:
input class="form-control" type="password" name="password" autocomplete="off">
- 同理可得密码的选择器为:
$(":password")
;在这里插入图片描述
1.3.3 登陆按钮
- 页面源码:
button type="submit" id="submit" class="btn btn-primary" data-loading="稍候...">
登录/button>
- 选择器为:
$(":button")
时,显示两个按钮,其中第二个为登陆按钮:在这里插入图片描述
- 那么登陆按钮的选择器为:
$(":button")[1]
:在这里插入图片描述
1.3.4 完整代码
# -*- coding:utf-8 -*-
# 作者:虫无涯
# 日期:2023/11/13
# 文件名称:test_zentao.py
# 作用:JQuery定位
from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get("http://localhost/zentao/user-login.html")
driver.implicitly_wait(10)
user_name = "$('input:first').val('admin')"
driver.execute_script(user_name)
time.sleep(0.5)
pass_wd = "$(':password').val('ZenTao123456')"
driver.execute_script(pass_wd)
time.sleep(1)
login_but = "$(':button')[1].click()"
driver.execute_script(login_but)
time.sleep(2)
driver.quit()
2 JQuery选择器
2.1 常用选择器列表
选择器 | 示例 | 说明 |
---|---|---|
|
| 所有元素 |
|
|
|
|
| 所有 |
|
| 所有 |
|
| 所有 |
| $("p:first") | 第一个 |
|
| 最后一个 |
|
| 所有偶数 |
|
| 所有奇数 |
|
| 列表中的第三个元素( |
|
| 列出 |
|
| 列出 |
|
| 所有不为空的 |
|
| 所有标题元素 |
| 所有动画元素 | |
|
| 包含指定字符串 |
|
| 无子(元素)节点的所有元素 |
|
| 所有隐藏的 |
|
| 所有可见的表格 |
|
| 所有带有匹配选择的元素 |
|
| 所有带有 |
|
| 所有 |
|
| 所有 |
|
| 所有 |
|
| 所有 |
|
| 所有 |
|
| 所有 t |
|
| 所有 |
|
| 所有 |
|
| 所有 |
|
| 所有 |
|
| 所有 |
|
| 所有 |
|
| 所有激活的 |
|
| 所有禁用的 |
|
| 所有被选取的 |
|
| 所有被选中的 |
2.2 思考
- 接之前的实例,登陆到禅道系统后,点击左边的【项目】:
$(a[data-app='project']).click()
:在这里插入图片描述
- 点击右上角的【创建项目】:
$([href='/zentao/project-createGuide-0.html']:first)
:在这里插入图片描述
- 点击【瀑布】模式:
在这里插入图片描述
- 看不能进入创建项目的界面:
在这里插入图片描述
- 此处代码省略,可自行尝试。
我正在参与 2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Selenium+JQuery定位方法及应用
本文地址: https://pptw.com/jishu/572504.html