为了账号安全,请及时绑定邮箱和手机立即绑定

硒 : 如何等待然后点击?

硒 : 如何等待然后点击?

MYYA 2022-09-06 17:00:46
我正在使用硒进行自动化,我想单击每个元素,然后等待,然后再单击元素。这是我的代码,但它似乎不是解决方案:<ul>def navBar(): driver=setup() navBar_List = driver.find_element_by_class_name("nav") listItem = navBar_List.find_elements_by_tag_name("li") for item in listItem :    WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.TAG_NAME,"li")))    item.click()以下是HTLM代码:<ul class="nav navbar-nav">                 <li tabindex="0">                        <a class="h">                            <div class="icon-left-navbar">                                 ...                            </div>                        </a>                    </li>                    <li tabindex="0">                        <a class="h">                            <div class="icon-left-navbar">                                 ...                            </div>                        </a>                    </li>                    <li tabindex="0">                        <a class="h">                            <div class="icon-left-navbar">                                 ...                            </div>                        </a>                    </li>                </ul>
查看完整描述

2 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

Thread.sleep(100) 是一个选项吗?


查看完整回答
反对 回复 2022-09-06
?
catspeake

TA贡献1111条经验 获得超0个赞

使用 定义您的.li.find_elements


用于识别它们:。xpath//ul[@class='nav navbar-nav']//li


使用循环,您可以利用增量来等待每个 .我想它会产生如下结果:li


(xpath)[1]

(xpath)[2]

etc...

并尝试以下代码:


listItem = WebDriverWait(driver, 30).until(EC.visibility_of_all_elements_located((By.XPATH,"//ul[@class='nav navbar-nav']//li")))


for x in range(1, len(listItem)+1):

    WebDriverWait(driver,10).until(EC.element_to_be_clickable((By.XPATH,"(//ul[@class='nav navbar-nav']//li)[" +str(x) +"]"))).click()


查看完整回答
反对 回复 2022-09-06
  • 2 回答
  • 0 关注
  • 217 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号