selenium4-定位组元素

总体思路:find_elements() 该方法将所有定位到的元素放到一个列表中,再通过列表的下标定位到具体元素。

例1、使用tag name定位到百度搜索框,并输入selenium关键字
service = Service(r"C:\Users\USER\AppData\Local\Programs\Python\Python37\chromedriver.exe")
driver = webdriver.Chrome(service=service)
driver.get("http://www.baidu.com")
driver.find_elements(By.TAG_NAME, 'input')[7].send_keys('selenium') # 通过下标7取到第8个<input>标签,即百度搜索框
sleep(3)
driver.quit()
例2、验证复选框的全选功能是否正常
通过开发者工具分析发现,每个复选框都有一个name属性,且值都是ids[]
思路1、首先定位全选的复选框,然后单击该复选框;接下来要定位每一个复选框,然后分别判断它们是否处于选中状态。
思路2、先定位组元素,然后循环操作列表中的组元素。(显然这种更简单)
lsts = driver.find_elements(By.NAME, 'ids[]')
for lst in lsts:
    # 如果元素被选中,输出pass;否则,输出fail
    if lst.is_selected():
        print('pass')
    else:
        print('fail')

 

posted @ 2022-10-18 08:02  淘气的包子  阅读(175)  评论(0编辑  收藏  举报