【问题标题】:Selenium python iterate over multiple elementsSelenium python迭代多个元素
【发布时间】:2021-02-07 03:46:09
【问题描述】:
基本上我的问题是我不记得该怎么做,我记得能够打印出一些涉及[3]或[]的特定元素,
我正在使用driver.find_element_by_class_name('classname').click 来点击说第三个项目,或者让它从上到下工作,我希望能够循环这个但我现在拥有的只是反复点击第一项,而不是浏览我要求的全部内容?
现在是凌晨 3 点 36 分,我累了躺在床上而不是在办公桌前,如果我需要提供更多信息,我必须在几个小时内发布,提前谢谢。
【问题讨论】:
标签:
python-3.x
ubuntu
selenium-webdriver
firefox
【解决方案1】:
为了使用数组表示法,例如[1] 或 [2],您需要一个集合/数组。为了使用 Selenium 获取元素集合,您需要使用 .find_elements_*(注意复数,elementS)。从那里,你可以得到你想要的,例如
driver.find_elements_by_class_name('classname')[1].click()
你可以把它放在一个循环中,用索引替换 1,例如
driver.find_elements_by_class_name('classname')[index].click()
等等。