Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何使用Selenium创建一个循环来单击页面的所有按钮_Python 3.x_Selenium - Fatal编程技术网

Python 3.x 如何使用Selenium创建一个循环来单击页面的所有按钮

Python 3.x 如何使用Selenium创建一个循环来单击页面的所有按钮,python-3.x,selenium,Python 3.x,Selenium,我在一个页面上有60个按钮,我想单击所有按钮。是否可以创建一个循环来执行此操作 按钮的XPATH: /html/body/form/div[3]/div[4]/table/tbody/tr/td[2]/div/table/tbody/tr[2]/td/div/div/div/ct轮询活动/div/div/div/div/div[1]/table/tbody/tr[1]/td[6]/div/i /html/body/form/div[3]/div[4]/table/tbody/tr/td[2]/d

我在一个页面上有60个按钮,我想单击所有按钮。是否可以创建一个循环来执行此操作

按钮的XPATH:

/html/body/form/div[3]/div[4]/table/tbody/tr/td[2]/div/table/tbody/tr[2]/td/div/div/div/ct轮询活动/div/div/div/div/div[1]/table/tbody/tr[1]/td[6]/div/i

/html/body/form/div[3]/div[4]/table/tbody/tr/td[2]/div/table/tbody/tr[2]/td/div/div/div/ct轮询活动/div/div/div/div[2]/div[1]/table/tbody/tr[2]/td[6]/div/i

唯一不同的数字是最后一个tr[],它是一个序列,直到达到60为止

这是我用来点击按钮的功能

def explicit_wait_xpath(my_selector):
    wait = WebDriverWait(driver, 10)
    element = wait.until(EC.element_to_be_clickable((By.XPATH, 
                                                my_selector)))
    element.click()

根据您提出的问题,我认为您可以创建一个循环,动态更新选择器并将其传递给函数调用

def explicit_wait_xpath(my_selector):
    wait = WebDriverWait(driver, 10)
    element = wait.until(EC.element_to_be_clickable((By.XPATH,my_selector)))                                                  
    element.click()


for i in range(1,61):
   # use of f-string
   selector = f'"/html/body/form/div[3]/div[4]/table/tbody/tr/td[2]/div/table/tbody/tr[2]/td/div/div/div/ct-polling-activity/div/div/div/div[2]/div[1]/table/tbody/tr[{i}]/td[6]/div/i"'
   explicit_wait_xpath(selector)