如何使用 Selenium 和 Python 等待加载的元素数量 [英] How to wait for number of elements to be loaded using Selenium and Python

查看:39
本文介绍了如何使用 Selenium 和 Python 等待加载的元素数量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我正在使用选择器进行选择:

Let's say I'm selecting with the selector:

//img[@data-blabla]

我想等待加载 10 个元素,而不是一个.

And I want to wait for 10 elements to be loaded, not just one.

这将如何修改?我正在猜测索引 [9]

How would this be modified? I'm making a guess with the index [9]

WebDriverWait(browser, 5).until(EC.presence_of_element_located((By.XPATH, '//img[@data-blabla][9]')))

推荐答案

要等待 10 个元素加载,您可以使用 lambda函数,您可以使用以下任一定位器策略:

To wait for 10 elements to load you can use the lambda function and you can use either of the following Locator Strategies:

  • 使用>:

myLength = 9
WebDriverWait(browser, 20).until(lambda browser: len(browser.find_elements_by_xpath("//img[@data-blabla]")) > int(myLength))

  • 使用==:

    myLength = 10
    WebDriverWait(browser, 20).until(lambda browser: len(browser.find_elements_by_xpath("//img[@data-blabla]")) == int(myLength))
    

  • 这篇关于如何使用 Selenium 和 Python 等待加载的元素数量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆