• Message: u'The given selector btn dropdown-toggle btn-info is either invalid or does not result in a WebElement


    html代码:

    <html>
        <head>
            <meta http-equiv="content-type" content="text/html;charset=utf-8" />
            <title>button dropdown</title>      
            <script type="text/javascript" async="" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
            <link href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet" />      
            <script type="text/javascript">
                $(document).ready(
                    function(){
                        $('.dropdown-menu').find('a').first().click(function(){ alert('watir-webdriver is better than selenium-webdriver'); });
                    }
                );
            </script>
        </head>
        <body>
            <h3>button dropdown</h3>
            <div class="row-fluid">
                <div class="span3">     
                    <div class="well">
                        <div class="btn-group">
                            <a class="btn dropdown-toggle btn-info" data-toggle="dropdown" href="#">
                                Info
                                <span class="caret"></span>
                            </a>
                            <ul class="dropdown-menu">
                                <li><a href="#">watir-webdriver</a></li>
                                <li><a href="#">better than</a></li>
                                <li><a href="#">selenium-webdriver</a></li>
                            </ul>
                        </div>
                    </div>          
                </div>      
            </div>      
        </body>
        <script src="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
    </html>
    

      

    Python 代码:

    #coding=utf-8
    
    from selenium import  webdriver
    from selenium.webdriver.common.keys import Keys
    from time import  sleep
    import  os
    
    if 'HTTP_PROXY' in os.environ: del os.environ['HTTP_PROXY']
    
    dr = webdriver.Firefox()
    file_path = 'file:///' + os.path.abspath('button_dropdown.html')
    dr.get(file_path)
    
    sleep(1)
    
    #
    dr.find_element_by_class_name('btn dropdown-toggle btn-info').click()
    buttons =dr.find_elements_by_class_name('dropdown-menu')
    for btn in buttons:
        if btn.text == 'better than': btn.click()
    
    sleep(1)
    
    dr.quit()
    

      错误信息:InvalidSelectorException: Message: u'The given selector btn dropdown-toggle btn-info is either invalid or does not result in a WebElement.

    解决办法:

    #coding=utf-8
    
    from selenium import  webdriver
    from selenium.webdriver.support.ui import  WebDriverWait
    from time import  sleep
    import  os
    
    if 'HTTP_PROXY' in os.environ: del os.environ['HTTP_PROXY']
    
    dr = webdriver.Firefox()
    file_path = 'file:///' + os.path.abspath('button_dropdown.html')
    dr.get(file_path)
    
    sleep(1)
    
    #点击下拉菜单
    dr.find_element_by_link_text('Info').click()
    
    #找到dropdown-menu父元素
    WebDriverWait(dr,10).until(lambda the_driver: the_driver.find_element_by_class_name('dropdown-menu').is_displayed())
    
    #找到better than
    menu = dr.find_element_by_class_name('dropdown-menu').find_element_by_link_text('better than')
    
    menu.click()
    
    sleep(3)
    
    dr.quit()
    

      

  • 相关阅读:
    Docker
    dcoker-componse-2
    MyBatis的基本使用
    SpringMVC实现文件上传和下载
    CF817E Choosing The Commander
    CSP 2020 游记
    COCI2014-2015 Contest#1 题目选做
    CF590D Top Secret Task
    LuoguP1937 [USACO10MAR]Barn Allocation G
    CF741C Arpa’s overnight party and Mehrdad’s silent entering
  • 原文地址:https://www.cnblogs.com/xiaobaichuangtianxia/p/3736925.html
Copyright © 2020-2023  润新知