• python学习之Unable to locate element


    #coding=utf-8
    from selenium import webdriver
    from selenium.webdriver.common.keys import Keys  #需要引入keys包
    import os,time
    
    driver = webdriver.Chrome()
    driver.get("http://****/ims_smart_web/index.html#metricQuery")
    
    time.sleep(3)
    driver.maximize_window() # 浏览器全屏显示
    
    driver.find_element_by_id("j_username").clear()
    driver.find_element_by_id("j_username").send_keys("用户名")
    
    #tab的定位相相于清除了密码框的默认提示信息,等同上面的clear()
    driver.find_element_by_id("j_username").send_keys(Keys.TAB)
    time.sleep(3)
    driver.find_element_by_id("j_password").send_keys("密码")
    
    #通过定位密码框,enter(回车)来代替登陆按钮
    driver.find_element_by_id("j_password").send_keys(Keys.ENTER)
    '''
    #也可定位登陆按钮,通过enter(回车)代替click()
    driver.find_element_by_id("login").send_keys(Keys.ENTER)
    '''
    time.sleep(3)
    
    time.sleep(3)
    driver.quit()
    

      

    Traceback (most recent call last):
    File "D:aasoftcflpythoncflprojectchrome_12_1.py", line 21, in <module>
    driver.find_element_by_id("password").send_keys(Keys.ENTER)
    File "D:aasoftcflpythonlibsite-packagesselenium-3.11.0-py3.6.eggseleniumwebdriver emotewebdriver.py", line 351, in find_element_by_id
    return self.find_element(by=By.ID, value=id_)
    File "D:aasoftcflpythonlibsite-packagesselenium-3.11.0-py3.6.eggseleniumwebdriver emotewebdriver.py", line 955, in find_element
    'value': value})['value']
    File "D:aasoftcflpythonlibsite-packagesselenium-3.11.0-py3.6.eggseleniumwebdriver emotewebdriver.py", line 312, in execute
    self.error_handler.check_response(response)
    File "D:aasoftcflpythonlibsite-packagesselenium-3.11.0-py3.6.eggseleniumwebdriver emoteerrorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
    selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"id","selector":"password"}
    (Session info: chrome=66.0.3359.139)
    (Driver info: chromedriver=2.36.540470 (e522d04694c7ebea4ba8821272dbef4f9b818c91),platform=Windows NT 6.1.7601 SP1 x86_64)

    问题出现原因:不存在id为password的元素,id应该为j_password,修改为j_password就可以跑通了

    学习虫师的轻松自动化:

    http://www.cnblogs.com/fnng/p/3258946.html

  • 相关阅读:
    Android悬浮窗拖动
    git提交错误问题如何解决?
    STM32单片机使用注意事项
    C指针说明
    cygwin注意事项
    关于百度地图的使用问题
    Android GIS osmdroid地图使用
    三个能力构建人生护城河
    浪潮之醒
    MingGW Posix VS Win32
  • 原文地址:https://www.cnblogs.com/shishibuwan/p/9072347.html
Copyright © 2020-2023  润新知