氡同学 2021-05-02 12:08 采纳率: 100%
浏览 137
已采纳

用selenium模拟登录,网页中能找到id为Username的input标签,为什么提示无法找到?

代码如下:
from selenium import webdriver
import time
import json

user="xxx"
password="xxxxx"
driver = webdriver.Chrome()
driver.get('http://61.144.253.234:54040/szwsbsdt.html?ReturnUrl=%2f')
time.sleep(3)
driver.find_element_by_xpath("//*[@onclick]").click()
print("正在输入用户名和密码")
#清空登录框
driver.find_elements_by_xpath("//input").clear()
#自动填入登录用户名
driver.find_element_by_xpath("//input[@id='UserName']").send_keys(user)

错误提示:selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"//input[@id='UserName']"}<br />   (Session info: chrome=90.0.4430.93)

网页源码如下:

  • 写回答

5条回答 默认 最新

  • CSDN专家-HGJ 2021-05-02 15:10
    关注

    通过多种方式进行尝试:

    1.在第15行加入 ,driver.implicitly_wait(10),设置等待时间。

    2.在定义driver时加入options.add_argument("start-maximized"),最大化浏览器启动窗口。

    3.看这个输入窗口是不是在一个iframe中,如果是的话,要先用driver.switch_to.frame(...),,然后再进行输入操作。

    4.根据页面加载情况,用WebDriverWait,等页面加载后获取节点。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大