Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Selenium使用elif查找元素_Python_Selenium_If Statement - Fatal编程技术网

Python Selenium使用elif查找元素

Python Selenium使用elif查找元素,python,selenium,if-statement,Python,Selenium,If Statement,我当前的代码如下: buttons = driver.find_elements(By.XPATH, "...xpath") if len(buttons) > 0: for idx in range(len(buttons)): buttons[idx].send_keys('\n') res += 1 time.sleep(1) driver.refres

我当前的代码如下:

    buttons = driver.find_elements(By.XPATH, "...xpath")
    if len(buttons) > 0:
        for idx in range(len(buttons)):
            buttons[idx].send_keys('\n')
            res += 1
        time.sleep(1)
        driver.refresh()
    else:
        nxt = driver.find_element(By.CSS_SELECTOR, ".paging_bootstrap i.fa-angle-right.fa")
        driver.execute_script("arguments[0].click();", nxt)
但是,我想用elif和else更改else,因此它将按以下顺序显示:

    if len(buttons) > 0:
        for idx in range(len(buttons)):
            buttons[idx].send_keys('\n')
            res += 1
        time.sleep(1)
        driver.refresh()
    elif:
        nxt = driver.find_element(By.CSS_SELECTOR, ".paging_bootstrap i.fa-angle-right.fa")
        driver.execute_script("arguments[0].click();", nxt)
    else:
        print("Message")
有什么办法吗

buttons = driver.find_elements(By.XPATH, "...xpath")
    if len(buttons) > 0:
        for idx in range(len(buttons)):
            buttons[idx].send_keys('\n')
            res += 1
        time.sleep(1)
        driver.refresh()
    else:
        try:
            nxt = driver.find_element(By.CSS_SELECTOR, ".paging_bootstrap i.fa-angle-right.fa")
            driver.execute_script("arguments[0].click();", nxt)
        except Exception as e:
            print(e.message)
你觉得这个怎么样

另外,很难弄清楚,你想用这段代码实现什么,再加上一些解释

你觉得这个怎么样


另外,很难弄清楚,你想用这段代码实现什么,再加上一些解释。

你几乎是对的。您只需要添加elif块的条件,比如len(buttons)==0。 例如,您的代码可以编写为:

if len(buttons) > 0:
        for idx in range(len(buttons)):
            buttons[idx].send_keys('\n')
            res += 1
        time.sleep(1)
        driver.refresh()
elif len(buttons) == 0:
        nxt = driver.find_element(By.CSS_SELECTOR, ".paging_bootstrap i.fa-angle-ight.fa")
        driver.execute_script("arguments[0].click();", nxt)
else:
        print("Message")

你几乎是对的。您只需要添加elif块的条件,比如len(buttons)==0。 例如,您的代码可以编写为:

if len(buttons) > 0:
        for idx in range(len(buttons)):
            buttons[idx].send_keys('\n')
            res += 1
        time.sleep(1)
        driver.refresh()
elif len(buttons) == 0:
        nxt = driver.find_element(By.CSS_SELECTOR, ".paging_bootstrap i.fa-angle-ight.fa")
        driver.execute_script("arguments[0].click();", nxt)
else:
        print("Message")

您认为,按钮数量可能小于0??我假设bbfl正在寻找if..elif..else格式,并给出了一个示例。这绝对不是一个有效的方案。您认为,按钮数量可能小于0??我假设bbfl正在寻找if..elif..else格式,并给出了一个示例。这显然不是一个有效的方案。