Python selenium:如何循环查找元素并多次单击()直到不存在?
Python selenium : How to do a loop to find an element and click() on it multiple time until not exist?
我有这个代码来查找元素(从购物车中删除产品),在我的例子中我有不止一个元素所以我需要一个循环从购物车中一个一个地删除产品,这是我的代码但它不是工作:while(self.driver.find_elements_by_xpath('//*[@data-testid="RemoveProductBtn_btn"]')): self.driver.find_elements_by_xpath('//*[@data-testid="RemoveProductBtn_btn"]').click()
您的代码不起作用,因为您正试图点击元素数组 (self.driver.find_elements_by_xpath('//*[@data-testid="RemoveProductBtn_btn"]').click()
)。
可能的解决方案是在单击时使用 find_element_by_xpath
(不带 's')。
或者
你应该可以做到:
# get all remove item buttons
removeButtons = self.driver.find_elements_by_xpath('//*[@data-testid="RemoveProductBtn_btn"]')
# loop over each element and click on it
for removeButton in removeButtons:
removeButton.click()
我有这个代码来查找元素(从购物车中删除产品),在我的例子中我有不止一个元素所以我需要一个循环从购物车中一个一个地删除产品,这是我的代码但它不是工作:while(self.driver.find_elements_by_xpath('//*[@data-testid="RemoveProductBtn_btn"]')): self.driver.find_elements_by_xpath('//*[@data-testid="RemoveProductBtn_btn"]').click()
您的代码不起作用,因为您正试图点击元素数组 (self.driver.find_elements_by_xpath('//*[@data-testid="RemoveProductBtn_btn"]').click()
)。
可能的解决方案是在单击时使用 find_element_by_xpath
(不带 's')。
或者
你应该可以做到:
# get all remove item buttons
removeButtons = self.driver.find_elements_by_xpath('//*[@data-testid="RemoveProductBtn_btn"]')
# loop over each element and click on it
for removeButton in removeButtons:
removeButton.click()