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()

 

posted @ 2020-12-17 10:20  山君与见山  阅读(772)  评论(0编辑  收藏  举报