Python运行selenium时报错‘dict‘ object has no attribute ‘send_keys‘解决fang‘an

在jupyter notebook中运行selenium操作浏览器时,报出一下错误:

按道理teacher对象的type应该是selenium.webdriver.remote.webelement.WebElement才对,怎么会变成dict字典呢?

我查阅了资料:有一下2种说法:

1.应该使用driver.find_elemenr_by_id('teacher')的方法,可是替换了后系统显示该方法已被弃用。我再查才发现是我的selenium的版本是4,而这种方法只能用于3或更低。无奈之下我就卸载了selenium4,转而安装3,可是在3中运行了driver.find_elemenr_by_id('teacher')还是把teacher当成了dict对象。这时我就觉得不是版本的问题,版本越新一般功能应该越完善才对,怎么可能版本新了有些功能还退化了呢。所以我就又卸载了3,安装了4.。在4中只是把3中driver.find_elemenr_by_id('teacher')类似这种命令统一我上面截图的那一种而已。

2.安装的浏览器驱动没有放在Python的根目录下。可是我检查了一下,我确实是放在anaconda的目录下了。所以应该也没问题。

最后我想了想,这个程序就2个组件:selenium,已经是最新版了,没问题;那么问题极有可能出现在我当时随便在网上找的浏览器驱动。

于是我上网再找了一次浏览器驱动。找到了谷歌和Edge的驱动下载:(因为我的电脑就这俩浏览器)

谷歌:chromedriver.storage.googleapis.com/index.html

Edge:Microsoft Edge Driver - Microsoft Edge Developer

点开一看:好家伙,几十个版本的都有。这时我意识到了可能是我下的驱动的版本跟我的浏览器版本对应不上。于是我根据我的浏览器版本下载对应的谷歌和Edge驱动。结果2个浏览器都能被selenium正常调用。问题解决!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翔空中,策人生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值