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()
  • 相关阅读:
    C# 使用委托实现回调功能
    java 调用 .net webservice 去掉方法里参数的命名空间前缀
    C# 判断对象里所有属性的值是否存在空值
    postman配合soupui调用webservice
    Web Browser Control – Specifying the IE Version
    MySql 中文乱码处理
    Windows Telnet服务端口配置(转)
    .Net程序集强签名详解
    xmlns + SelectNodes = empty XmlNodeList
    【转】动态调用WebService(C#)
  • 原文地址:https://www.cnblogs.com/H-Yan/p/14148145.html
Copyright © 2011-2022 走看看