selenium Python Selify-与列表中的下一个WebElement对象交互

vfh0ocws  于 2022-11-10  发布在  Python
关注(0)|答案(1)|浏览(117)

我有一个网络元素列表,如下所示:

menu = self.driver.find_elements(By.CSS_SELECTOR, '[class="partEl__1o8vO"]')

对于列表menu中包含的所有Web元素,我必须执行一次单击,但在下面的代码中,列表中的第一个元素被单击n次,而不是在列表中的所有元素上单击一次:

menu = self.driver.find_elements(By.CSS_SELECTOR, '[class="partEl__1o8vO"]')
for index, value in enumerate(menu):
    value = self.driver.find_element(By.CSS_SELECTOR, '[class="TableRow_clickableRow__1uMJO"]')
    value.click()

我知道我没有正确地循环,但我不知道我做错了什么。谢谢你的帮助。

wnrlj8wa

wnrlj8wa1#

您的问题缺少调试细节,但我猜以下方法应该有效:

menu = self.driver.find_elements(By.CSS_SELECTOR, '[class="partEl__1o8vO"]')
for value in menu:
    value.find_element(By.CSS_SELECTOR, '[class="TableRow_clickableRow__1uMJO"]').click()

如果单击菜单选项执行刷新页面,则以下内容应该会有所帮助:

menu = self.driver.find_elements(By.CSS_SELECTOR, '[class="partEl__1o8vO"]')
for value in menu:
    value.find_element(By.CSS_SELECTOR, '[class="TableRow_clickableRow__1uMJO"]').click()
    menu = self.driver.find_elements(By.CSS_SELECTOR, '[class="partEl__1o8vO"]')

相关问题