开发者社区 问答 正文

python selenium 出错? 400 报错

python selenium 出错? 400 报错

无法锁定126.com的email输入项

html内容




>>> driver.get('http://www.126.com')
>>> driver.find_element_by_name("email")
Traceback (most recent call last):
  File "<pyshell#46>", line 1, in <module>
    driver.find_element_by_name("email")
  File "C:\Python34\lib\site-packages\selenium-2.53.1-py3.4.egg\selenium\webdriver\remote\webdriver.py", line 362, in find_element_by_name
    return self.find_element(by=By.NAME, value=name)
  File "C:\Python34\lib\site-packages\selenium-2.53.1-py3.4.egg\selenium\webdriver\remote\webdriver.py", line 744, in find_element
    {'using': by, 'value': value})['value']
  File "C:\Python34\lib\site-packages\selenium-2.53.1-py3.4.egg\selenium\webdriver\remote\webdriver.py", line 233, in execute
    self.error_handler.check_response(response)
  File "C:\Python34\lib\site-packages\selenium-2.53.1-py3.4.egg\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {"method":"name","selector":"email"}

展开
收起
爱吃鱼的程序员 2020-06-03 15:45:48 1580 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB
    driver.find_element_by_name("email")



    你需要确定有唯一的元素的name属性是email。

    看你的例子是登录126邮箱的例子。

    你可以使用id定位输入框。

    driver.find_element_by_id("idPlaceholder")
    





    ######先定frame, 是不是在frame里面啊,外面是找不到的
    2020-06-03 17:28:05
    赞同 展开评论