web控件定位与常见操作(测试、爬虫)

本文介绍了在Web自动化测试中,XPath和CSSSelector两种主要的定位方式,包括它们在Selenium和appium中的应用,以及如何在Google浏览器Console中使用它们进行元素定位。同时提到了XPath的特点和相对CSSSelector的优缺点。
摘要由CSDN通过智能技术生成

1. 主要的定位方式:xpath,cssSelector

2. web常见操作:selenium的点击与输入

#selenium 输入send_keys
self.driver=find_element(By.ID,'kw').send_keys("输入的内容")

#selenium 点击click
self.driver=find_element(By.ID,'su').click()

3. xpath定位-XML Path Language,用于解析html与xml,注意/与//的区别,注意各层级之间的嵌套关系即可

优点:适用性强,可用于selenium和appium

缺点:从头到尾遍历,比较慢,比css selector慢

练习,Google浏览器F12,Console框练习定位元素,xpath在console中的语句为$x('xpath路径')

多个元素可以使用索引或last()进行定位

4. cssSelector

适用:selenium,但是原生的appium不支持原生的cssSelector,app嵌套网页之后才可以使用cssSelector进行定位

特点:使用样式进行定位,比较快,(不同的属性用不同的符号,通过符号来定位)

练习,Google浏览器F12,Console框练习定位元素,cssSelector在console中的语句为$('cssSelector路径')

p:nth-child(n)--p元素同一个父节点的第几个孩子,只要是父节点下面的分支就是它的孩子,所以这个n值一定要注意,另查找最后一个孩子可以用p:nth-last-child(n)

其中div p等同于xpath中的//,div>p等同于xpath中的/

5. selenium+xpath/cssSelector

#selenium+xpath,打开百度页面,在搜索框中输入’测试开发‘并点击搜索按钮
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWait

class TestCase1:
    def setup_method(self, method):
        self.driver = webdriver.Chrome()
        self.driver.get("https://www.baidu.com")
        self.driver.implicitly_wait(5)

    def teardown_method(self, method):
        self.driver.quit()

    def test_01(self):
        #xpath
        #self.driver.find_element(By.XPATH,'//*[@id="kw"]').send_keys("测试开发")
        #self.driver.find_element(By.XPATH, '//*[@id="su"]').click()
        #cssselector
        self.driver.find_element(By.CSS_SELECTOR, '#kw').send_keys("测试开发")
        self.driver.find_element(By.CSS_SELECTOR, '#su').click()

注意:By.ID,By.NAME,By.LINK_TEXT底层都是用的cssSelector

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值