当前位置: 首页 > 知识库问答 >
问题:

Python Selenium错误:无法按名称查找元素:

赵英资
2023-03-14

我试图自动登录到网站https://opensource-demo.orangehrmlive.com/web/index.php/auth/login使用硒通过它给出了一个错误

selenium.common.exceptions.NoSuchElementException: 消息: no suchElement: 无法找到元素: {“method”:“css selector”,“selector”:“[name=”username“]”}

我的代码:

从Selenium导入web驱动程序导入硒

从selenium.webdriver.common.by进口By

来自selenium.webdriver.com。关键帧导入关键帧

来自selenium.webdriver.chrome。服务导入服务

s=服务(“C:\Development\chromedriver.exe”)

driver = webdriver。Chrome(服务)

driver.get(“https://opensource-demo.orangehrmlive.com/")

用户名= driver.find_element(By。姓名,“用户名”)

username.send_keys(“管理员”)

我知道这听起来很简单,但我尝试了不同的方法来找到元素…仍然不工作。

共有1个答案

乐正瑞
2023-03-14

@Sravanthi Veera,加载页面似乎需要更长的时间,因此在加载页面之前会触发find_element。

您可以执行以下操作:

username = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.NAME, 'username')))

#username= driver.find_element(By.NAME,"username") # commented as we are getting the element from above line. 

username.send_keys("Admin")

您必须导入以下内容才能正常工作:

from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait
 类似资料:
  • 我正在用Hibernate和Websphere application Server 8.0开发一个应用程序。 我已经在Websphere中创建了一个数据源,它可以成功地与数据库连接。 但从应用程序我得到以下错误: 系统错误创建会话:org。冬眠服务jndi。JndiException:无法查找JNDI名称[java:comp/env/jdbc/OracleDS] 以下是我所做的设置: Websp

  • null:javax.naming.nameNotFoundException:project1-ear-1.0.0.00/project1-services-ejb1.0.0.0/personServiceImpl!com.domain.project1.interfaces.personService--service jboss.naming.context.java.“project1-e

  • 问题内容: 我正在使用Selenium WebDriver,并编写了一个小的代码来查找和元素(即按钮)并单击它。这是按钮的HTML代码: 这是测试用例的C#代码: 我也尝试使用XPath: 我找到了一个解决方案,说您一定没有实现“等待”。页面不等待完全加载并尝试查找元素。因此,我添加了等待命令,但没有发生任何有用的事情。仍然出现相同的错误: 问题答案: 由于您的元素位于IFrame中,因此您需要使

  • 问题内容: 我使用上面的python代码来练习一些基本的Selenium操作。我找不到任何元素,无论是名称还是ID。不管我尝试什么,我总是会遇到相同的错误,这表明我要查找的元素不存在。(想法是按一下其中一个按钮…) 这是网站html代码的一部分: 这是所说的网站(链接断开) 任何帮助将不胜感激。 顺便说一句,这是我尝试运行的第一个使用Selenium的程序,是否有可能需要更改某些设置或需要安装其他

  • 我是xsl的初学者,所以这可能是一个很容易的问题。我有一个xsl文件,我想在其中找到一个在param-object中定义的特定值: 有人能告诉我为什么我找不到childs的名字吗?多谢! 编辑:代码没有显示名称空间(我猜它是由浏览器解释的)。它的bginning和结尾没有括号: xsl:stylesheet xmlns:xsl=“http://www.w3.org/1999/xsl/transfo

  • 我有以下wlst脚本: 结果是错误: WLS:/离线 我怎样才能解决这个问题?