selenium 定位列表的方法

现在要做系统设置区域管理员这一块的具体每一条列表信息查看,配置文件传入用户名即可

上面那篇遇到的列表,如果列表是在第2页、第3页。。。第n页的话,就需要点击这个页面再重新点击查看

selenium 定位列表的方法_第1张图片

规律就是当前默认的第一页是active的

selenium 定位列表的方法_第2张图片 可以根据class属性=number去定位,然后用下标取。写个函数,自己调用自己然后页码自增1即可。

下面是代码

# -*- coding: utf-8 -*-
# @Time : 2020/9/3  15:57
# @Author : Liqiju
# @File : QueryRegionAdministrator.py
# @Software : PyCharm
import time
from selenium import webdriver
import RegionConfig


def region():
    browser.get('http://XXX.XXX.XXX.XX/#/login')  # 打开浏览器
    browser.maximize_window()  # 窗口最大化
    browser.find_element_by_xpath("//input[@placeholder='请输入账号/手机号']").send_keys('admin')  # 输入账号
    browser.find_element_by_xpath("//input[@placeholder='请输入登录密码']").send_keys('123456')  # 输入密码

    # 找出验证码
    spanValueCode1 = browser.find_element_by_xpath("//span[@class = 's1']")
    spanValueCode2 = browser.find_element_by_xpath("//i[@class = 's2']")
    spanValueCode3 = browser.find_element_by_xpath("//span[@class = 's3']")
    spanValueCode4 = browser.find_element_by_xpath("//i[@class = 's4']")

    # 验证码拼接
    code = str(spanValueCode1.text) + str(spanValueCode2.text) + str(spanValueCode3.text) + str(spanValueCode4.text)
    # 输入验证码
    browser.find_element_by_xpath("//input[@placeholder='请输入验证码']").send_keys(code)
    # 点击登录
    browser.find_element_by_xpath("//button[@class = 'el-button el-button--primary is-round']").click()
    print("登录成功!")
    # 等待元素出现
    time.sleep(2)
    # 点击系统设置
    browser.find_element_by_xpath('//div/span[contains(text(),"系统设置")]').click()
    # 展开
    browser.find_element_by_xpath("//i[@class='el-icon-d-arrow-right left']").click()
    # 点击区域管理员管理
    time.sleep(2)
    browser.find_element_by_xpath('//aside//li[contains(text(),"区域管理员管理")]').click()
    # 点击编辑
    deal()
    print("查询成功")


page = 0


def deal():
    try:
        time.sleep(1)
        browser.find_element_by_xpath(
            '//span[contains(text(),"%s")]/parent::div/parent::td/parent::tr//span[contains(text(),"查看")]' % RegionConfig.username).click()
    except:
        global page
        page = page + 1
        print(page, '--------------------------')
        time.sleep(1)
        browser.find_element_by_xpath('//li[@class = "number"][' + str(page) + ']').click()
        deal()


if __name__ == '__main__':
    browser = webdriver.Chrome()  # 创建浏览器
    region()

RegionConfig.py文件主要存放变量

 

 

 

你可能感兴趣的:(XML,AJAX,XPATH,selenium,python,定位,html,vue)