首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AttributeError Py

AttributeError Py
EN

Stack Overflow用户
提问于 2022-10-20 21:34:50
回答 2查看 54关注 0票数 0

Python Selenium的新版本。

我试图创建一个脚本登录到我的家庭路由器,并按下按钮重新启动。

运行到错误时,当尝试登录到路由器时,可以在这里介绍一下我的错误。

下面是代码,并附加了.屏幕截图

代码语言:javascript
复制
from selenium import webdriver
from selenium.webdriver.chrome.service import Service

driver_service = Service(executable_path="C:\Program Files (x86)\chromedriver.exe")
driver = webdriver.Chrome(service=driver_service)

PASSWORD = 'testtes'

login_page = 'http://192.168.2.1/login.html'

driver.get(login_page)
driver.find_element_by_xpath("//input[@placeholder='Password']").send_keys(PASSWORD)

下面是我正在犯的错误。

追溯(最近一次调用):driver.find_element_by_xpath("//input@placeholder='Password'").send_keys(PASSWORD) AttributeError中的文件"C:\Users\admin\Desktop\pyhton\index.py",第14行:'WebDriver‘对象没有属性'find_element_by_xpath’

现在就得到这个错误。

回溯(最近一次调用):文件"C:\Users\admin\Desktop\pyhton\index.py",第13行,在driver.find_element(By.XPATH,By.XPATH文件"C:\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py",第856行),find_element返回self.execute(Command.FIND_ELEMENT,{ File "C:\Python310\lib\site-packages\selenium\webdriver\remote\webdriver.py",第429行,在执行"C:\Python310\lib\site-packages\selenium\webdriver\remote\errorhandler.py",(响应)文件self.error_handler.check_response第243行中,check_response引发exception_class(消息、屏幕、堆栈跟踪)消息:没有这样的元素:无法定位元素:{“方法”:“xpath”,“选择器”:“//input@占位符=‘密码’”}

EN

回答 2

Stack Overflow用户

发布于 2022-10-20 21:40:16

可能您正在使用Selenium 4。如果是这样,则Selenium 4不支持find_element_by_xpath和所有其他find_element_by_*方法,您必须使用新的语法并添加必要的导入,如下所示:

代码语言:javascript
复制
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By

driver_service = Service(executable_path="C:\Program Files (x86)\chromedriver.exe")
driver = webdriver.Chrome(service=driver_service)

PASSWORD = 'testtes'

login_page = 'http://192.168.2.1/login.html'

driver.get(login_page)
driver.find_element(By.XPATH, "//input[@placeholder='Password']").send_keys(PASSWORD)
票数 2
EN

Stack Overflow用户

发布于 2022-10-20 21:42:25

试试这个:

代码语言:javascript
复制
from selenium.webdriver.common.by import By

driver.find_element(By.XPATH, "//input[@placeholder='Password']").send_keys(PASSWORD)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74146544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档