在解析器中使用 try 循环是否正确?

问题描述 投票:0回答:1
    while True:
        try:
            driver.find_elements(By.CSS_SELECTOR, 'input.ui-kit-Input-ui-kit-1evrczb.fJgmBI'[2].click()
            print('success in setting up candles')
            break

        except:
            print('error in setting up candles')

由于找不到元素或超出索引范围而导致的错误很少发生,因此我开始使用循环来避免此类麻烦。

python selenium-webdriver
1个回答
0
投票

首先,driver.find_elements方法返回一个列表,因此您需要选择列表的第二个元素([2]),但是您错误地放置了右括号。此外,当与 find_element 而不是 find_elements 一起使用时, click() 方法会更有意义,因为 find_element 返回单个元素。

我尝试修复错误,您可以查看下面的代码:

  while True:
    try:
        elements = driver.find_elements(By.CSS_SELECTOR, 'input.ui-kit-Input-ui-kit-1evrczb.fJgmBI')
        elements[2].click()
        print('success in setting up candles')
        break

    except Exception as e:
        print(f'error in setting up candles: {e}')
© www.soinside.com 2019 - 2024. All rights reserved.