簡體   English   中英

我的 if/else 表達式不起作用我不知道為什么?

[英]My if/else expression is not working I don't know why?

我的代碼:

website = browser.find_element_by_link_text('Website')

if website:
    website.click()
else:
    print('no website')

我要做的是單擊頁面上可用的按鈕。 如果該按鈕不可用,我希望它在控制台上打印沒有可用的網站並繼續下一步。

我不知道我做錯了什么有人知道如何解決這個問題嗎?

在此先感謝我是編碼新手!

在找到元素之前,您需要先訪問一個網站。

driver = webdriver.Firefox()
print('Acessando web site: {}'.format(os.getenv('VISIT_URL')))
driver.get('www.example.com')
#here onwards you can access browser elements like buttons links etc

您將 Web 元素的實例提供給 if() 條件,其中需要 boolean 表達式。

1) 嘗試首先使用find_elements_by_link_text() # _elements_檢查存在性

if len(driver.find_elements_by_link_text('Website')) > 0: 
    driver.find_element_by_id('Website').click()

2)或者使用expected_conditions檢查元素是否可用; 預期條件文檔

3) 或者使用 try/except 塊;

    try:
        website = driver.find_elements_by_link_text('Website')
    except NoSuchElementException:
        # code to execute if the expected element is not available

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM