web自动化知识点

这篇博客详细介绍了Web自动化测试的关键知识点,包括Xpath、CSS和JS定位元素,等待策略,窗口切换,鼠标操作如ActionChains和TouchActions的使用,处理弹框、frame框架,时间控件,以及Cookie管理。此外,还提供了保存和使用Cookie的实例,以及Windows切换的方法。
摘要由CSDN通过智能技术生成

定位

Xpath定位

// 代表选取所有元素
/ 代表选取子元素
 *  选取任意元素

$x('//*[@id="s_tab"]//b')
$x('//*[@id="s_tab"]//a')
$x('//*[@id="s_tab"]//a[1]')
$x('//*[@id="s_tab"]//a[last()]')
id 、 name 通常是唯一的属性,不需要更复杂的表达式

CSS定位

$('.su')            定位class = "su" 的元素
$('#su')             定位id  也可以写成 $('[id=su]')
$('#s_tab a')        id为s_tab内部的所有a元素
$('#s_tab a:nth-child(1)')      去找a的父元素的第一个孩子,且是a
$('#s_tab a:nth-last-child(1)') 
$('[id=s_tab] a:nth-last-child(1)') 

js定位

element = self.driver.execute_script('return document.querySelector("#su")')
# 案例一:打开百度首页,输入搜索关键字,点击搜索后,跳转到搜索结果页,滑动到底部点击'下一页'
import time
import pytest
from web.base import Base

class TestJS(Base):
    @pytest.mark.skip
    def test_js_scroll(self):
        self.driver.get("https://www.baidu.com/")
        self.driver.find_element_by_id("kw").send_keys("python")
        # return 返回JS的结果:python,让execute_script传参
        element = self.driver.execute_script('return document.querySelector("#su")')
        # 点击百度一下 id="su"
        element.click()
        # 滑动到最底部
        self.driver.execute_script("document.documentElement.scrollTop=10000")
        time.sleep(3)
        # 点击下一页
        self.driver.find_element_by_xpath("//*[@id='page']/div/a[10]").click()
        time.sleep(5)

等待

1. 直接等待
time.sleep(4)
2. 隐式等待self.driver.implicitly_wait(5)
3. 显式等待WebDriverWait(self.driver,10).until(expected_conditions.element_to_be_clickable((By.XPATH,'//*[@name="tj_login"]')))

切换窗口

# windows是个列表
windows = self.driver.window_handles
# 切到新窗口,最后一个windows窗口
self.driver.switch_to_window(windows[-1])
# 再次回到原来的窗口
self.driver.switch_to_window(windows[0])
  • 48
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值