zoukankan      html  css  js  c++  java
  • Python+selenium怎么自定义函数进行翻页操作定位第二页元素

    之前说函数的返回值当时多个返回值时,返回的是一个元组,所以使用函数返回值的时候可以利用索引来进行定位。

    下面是Python+selenium的翻页定位测试,创建一个确定定位元素在哪一行的方法,用for循环进行方法的调用,每次循环都需要进行,参数的重新定位,才能调用方法,获得返回值,利用索引,进行定位

    from selenium import webdriver
    driver=webdriver.Chrome()
    driver.get(" http://192.168.1.251/bsams/front/login.do ")
    driver.find_element_by_id("taskId").send_keys("576")
    driver.find_element_by_id("loginName").send_keys("rj01")
    driver.find_element_by_id("password").send_keys("123456")
    driver.find_element_by_id("vericode").send_keys("shtd")
    driver.find_element_by_css_selector("[class='dl-button left']").click()
    driver.find_element_by_id("leftmenu_asset_manage").click()
    k1=driver.find_elements_by_tag_name("tbody")
    k2=driver.find_elements_by_css_selector('tbody>tr')
    k3=driver.find_elements_by_css_selector("tbody > tr > td")
    k4=driver.find_elements_by_xpath("/html/body/div[2]/div/div[2]/div[2]/div[2]/table/tbody/tr[7]")
    def fun(k2,k3,juge=False,u=0):
        for i in k2:
            u += 1
            if u >= len(k2):
                driver.find_element_by_css_selector("[class='nextbtn']").click()
                print(juge)
            elif juge == True:
                break
            else:
                for j in k3:
                    if (j.text =="瑞特人生"):
                        juge = True
                        break
        return juge,u
    r=fun(k2,k3)
    result=r[0]
    for i in range(3):
        if result!=True:
            print(result)
            k1 = driver.find_elements_by_tag_name("tbody")
            k2 = driver.find_elements_by_css_selector('tbody>tr')
            k3 = driver.find_elements_by_css_selector("tbody > tr > td")
            k4 = driver.find_elements_by_xpath("/html/body/div[2]/div/div[2]/div[2]/div[2]/table/tbody/tr[7]")
            u=fun(k2,k3)
            d=u[1]
    row=d
    print(row)
    driver.find_element_by_xpath("/html/body/div[2]/div/div[2]/div[2]/div[2]/table/tbody/tr["+str(row)+"]/td[9]/a").click()
  • 相关阅读:
    Linux系统下用mail(mailx)发送邮件
    Docker+Nginx+KeepaLived 简单实现Nginx高可用+负载均衡
    MySql安装(Windows版本)
    十分钟入门Git和GitHub的源码版本管理
    Sql Server数据库读写分离配置
    C 语言中的 printf() 和 scanf() 简介
    C 语言字符串简介
    C 语言概述
    初识 C 语言
    计算机中的存储器
  • 原文地址:https://www.cnblogs.com/H-Yan/p/14148145.html
Copyright © 2011-2022 走看看