在Try块WebDriverWait中获取错误- Python Selenium

rqcrx0a6  于 2023-01-17  发布在  Python
关注(0)|答案(1)|浏览(145)

我正在尝试使用一个Try/Exception块来点击一个网页按钮,但是即使我使用了Try/Exception块,代码在Try块内部也会中断,部分代码如下所示:

...
###### click left bar option
select_element(driver, By.CSS_SELECTOR, "a[id='mnu_Matrícula']")

###### click suboption
select_element(driver, By.XPATH, "//*[@id='2020']")
time.sleep(20)
            
try:
    # click new creation
   WebDriverWait(driver, 30).until(EC.element_to_be_clickable((By.XPATH, "/html/body/div[1]/div[1]/div[1]/div/div[1]/div[1]/app-panel/div/div[2]/div/button"))).click()
    # select_element(driver, By.XPATH, "/html/body/div[1]/div[1]/div[1]/div/div[1]/div[1]/app-panel/div/div[2]/div/button")
    time.sleep(10)
except:
    status = "ERROR"

...

我收到的错误提到:

Cell In[23], line 121
   119 try:
   120     # click new creation
--> 121     WebDriverWait(driver, 30).until(EC.element_to_be_clickable((By.XPATH, "/html/body/div[1]/div[1]/div[1]/div/div[1]/div[1]/app-panel/div/div[2]/div/button"))).click()
   122     #select_element(driver, By.XPATH, "/html/body/div[1]/div[1]/div[1]/div/div[1]/div[1]/app-panel/div/div[2]/div/button")

   raise TimeoutException(message, screen, stacktrace)

我还必须提到,我多次迭代这段代码,并且每N次出现一次这个错误,但是我不知道为什么。
谢谢你的帮助。

8i9zcol2

8i9zcol21#

我非常确定您必须指定要使用except块需要发生的异常,如下所示:

try:
    # click new creation
   WebDriverWait(driver, 30).until(EC.element_to_be_clickable((By.XPATH, "/html/body/div[1]/div[1]/div[1]/div/div[1]/div[1]/app-panel/div/div[2]/div/button"))).click()
    # select_element(driver, By.XPATH, "/html/body/div[1]/div[1]/div[1]/div/div[1]/div[1]/app-panel/div/div[2]/div/button")
    time.sleep(10)
except TimeoutException:
    status = "ERROR"

别忘了也导入Exception。

相关问题