在不同的实例中区分相同的按钮

2024-06-26 00:24:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试自动化从站点下载报告的过程。有4种方法可以下载它。因此我有4个try和except循环。它从一个文件中获取文件名,并检查其中一种方法来提取。 现在的问题是我在两个循环中有相同的按钮点击事件。因此,程序在第一个button click事件时停止,并抛出一个错误,而不是进入下一个循环

try:
    driver.find_element_by_xpath('//*[@id = xpath_name').click()
except NoSuchElementException:
    try:
        Long_File()
    except NoSuchElementException:
        try:
            Extreme()
        except NoSuchElementException:
             NoLong_File()

def NoLong_File() :
    driver.find_element_by_xpath('// *[@id = xpath_name_A]').click()
    time.sleep(3)
    driver.find_element_by_xpath('//*[@id = xpath_name_B]').click()

def Extreme() :
    driver.find_element_by_xpath('// *[@id = xpath_name_A]').click()
    time.sleep(10)          
    driver.find_element_by_xpath('//*[@id = xpath_name_C]').click()
    time.sleep(3)
    driver.find_element_by_xpath('//*[@id = xpath_name_D]').click()

在上面的代码中,ExtremeNoLong_File具有相同类的相同按钮。因此,button click事件不是进入最后一个循环,而是发生在Extreme并停止

有没有办法区分不同实例的同一个按钮


Tags: nameidbydriver事件elementfind按钮