python 创建尝试多个条件的try和except语句

c0vxltue  于 2023-06-04  发布在  Python
关注(0)|答案(2)|浏览(128)
while True:
    try:
        element = driver.find_element(By.XPATH, "//*[contains(@href,'dawson')]")
        element.click()
        break
    except NoSuchElementException:
        driver.refresh()
        time.sleep(3)

上面是try和except块,它在Href中查找一个单词,如果包含该单词,则单击该元素。我想通过这些给定的单词的多个,并尝试他们。所以如果第一个单词没有找到,它会继续到下一个单词。如果它在中间刷新并不重要,我只是希望它迭代这些单词,如果它找到一个,它会点击。如何在try块中添加更多单词?
任何帮助将是伟大的。
谢谢你

4c8rllxm

4c8rllxm1#

在单独的循环中搜索元素

def find_link_by_word_in_href(driver, words):
    for word in words:
        try:
            return driver.find_element(By.XPATH, f"//*[contains(@href,'{word}')]")
        except NoSuchElementException:
            pass

while True:
    element = find_link_by_word_in_href(driver, ['dawson', 'denbigh', 'and_so_on'])
    if element is not None:
        element.click()
        break
    else:
        driver.refresh()
        time.sleep(3)
vhmi4jdf

vhmi4jdf2#

要在Python中捕获多种类型的异常,可以在except关键字后面的元组中指定它们。以下是如何修改代码以捕获OSError:

try:
    full_dict = xmltodict.parse(open(filepath_or_xml, 'rb'))
except (FileNotFoundError, OSError):
    full_dict = xmltodict.parse(filepath_or_xml)

相关问题