繁体   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