代码之家  ›  专栏  ›  技术社区  ›  Vishnu

Selenium Python-索引器错误:遍历表时列表索引超出范围

  •  -1
  • Vishnu  · 技术社区  · 9 年前

    def candidate():
    
        for j in range(0,20):
    
            driver.implicitly_wait(50)   
            employeeList=driver.find_elements_by_xpath("//td[7]/div/div[1]/a")
            employeeList[j].click()
            driver.switch_to_default_content()
            driver.implicitly_wait(50)
            driver.switch_to.frame("detail")
            wait = WebDriverWait(driver,2)
    
            try:                
                resume = wait.until(EC.presence_of_element_located((By.XPATH,"//div[@id='menubar']/div[1]/div/ul/li[2]/a/span")))
                driver.implicitly_wait(50)
                resume.click()
                download = wait.until(EC.presence_of_element_located((By.XPATH,'//a[@title="Download Resume"]')))
    
                driver.implicitly_wait(50)
                download.click()
                driver.implicitly_wait(50)
                driver.switch_to.frame("RTFVIEWER_MS")
                msword =  wait.until(EC.presence_of_element_located((By.XPATH,"//div[@id='pagecontainer'>>]/div/a[2]/ul/li[2]")))
                driver.implicitly_wait(50)            
                msword.click()
                print(j)
            except TimeoutException as ex1:
                print("Exception has been thrown"+str(ex1))
                print(j)
                continue
    
            driver.switch_to_default_content()
            driver.switch_to.frame(0)
    
    1 回复  |  直到 9 年前
        1
  •  0
  •   Steven Rumbalski    9 年前

    driver.find_elements_by_xpath("//td[7]/div/div[1]/a") 在 TimeoutException 因为一些行由于处理异常的方式而被跳过。

    driver.switch_to.frame(0) continue 并跳过for循环的最后几行。要么不要 持续