[英]find multiple elements by id
我正在尝试通过它们各自的 id 查找多个元素元素被命名
dcm-reservation-limit-multiple-input-generic-X
X 是元素的数量,它可以是:
dcm-reservation-limit-multiple-input-generic-0
dcm-reservation-limit-multiple-input-generic-1
dcm-reservation-limit-multiple-input-generic-2
...
dcm-reservation-limit-multiple-input-generic-10
而这样的例子不胜枚举。 我已经尝试过这段代码:
pricesToFind = driver.find_elements_by_xpath(".//*[@id='dcm-reservation-limit-multiple-input-generic-']")
没有任何成功,结果总是返回 NULL 即使它们确实存在
一块 HTML 来帮助:
<input _ngcontent-ihk-c34="" autocomplete="off" class="lib-input" maxlength="11" type="text" id="dcm-reservation-limit-multiple-input-variation-0">
输入的名字是javascript随机生成的,所以通过输入的名字来刮是没用的
我个人从未经常使用 Selenium,但我假设知道如何做到这一点。 我会使用一个while循环,然后一遍又一遍地运行它。 (只是让你知道,我无法实际测试这个,因为我在任何网站中都找不到具有相同条件的任何元素)
from selenium import webdriver
from selenium.webdriver.common.by import By
browser = webdriver.Firefox()
browser.get("somerandomwebsitehere.com/index.html")
a = 1
while a <= 100:
element = browser.find_element(By.ID, "dcm-reservation-limit-multiple-input-generic-" + str(a))
# Do whatever you want to the element
a = int(a) + 1
希望这会有所帮助。 我不保证这段代码会起作用,但现在你对如何实现这一点有了一个想法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.