原先我使用元素组的定位方式,发现只能定位到一个元素,死活定位不到下面几个勾选框,如图
我采用的定位方式是:
select_button_list = driver.find_elements(By.XPATH,"//*[@class='el-checkbox__inner']")
通过友友的帮助,我才知道前端有很多个div结构,我定位的为啥是一个呢?
就是因为我定位到的元素(全选勾选框),和我想定位的文件夹勾选框元素不在一个div结构里
所以,调整了代码,最终实现了文件夹勾选框定位
找到原因后,我尝试定位,最初用这个语句,但是也不行。
select_button_list = driver.find_elements(By.XPATH,"///tr[@class='el-table__row'])
因为我只是定位了行,没有定位到勾选框这个元素,导致无法定位。我又从网上找到x-path轴的定位方法,参考资料:XPath学习:轴(7)——preceding-sibling - Asharp - 博客园
最终解决了无法元素组定位的问题~
select_button_list = driver.find_elements
select_button_list = driver.find_elements(By.XPATH,"///tr[@class='el-table__row']/descendant-or-self::span[@class='el-checkbox__inner'] ")
for selectbutton in select_button_list:
selectbutton.click()