python - Selenium 无法定位元素:错误
问题描述
我尝试在 selenium 中做某事,我需要发送用户名并通过但我得到了这个错误。我在 pythonanywhere 上工作
我试过 time.sleep(20-60),隐式等待。
display = Display(visible=0, size=(1024, 768))
display.start()
browser = webdriver.Firefox()
browser.get("https://twitter.com/login")
time.sleep(30)
username = browser.find_element_by_xpath("//*[@id='page-container']/div/div[1]/form/fieldset/div[1]/input")
password = browser.find_element_by_xpath("//*[@id='page-container']/div/div[1]/form/fieldset/div[2]/input")
我的错误是:
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element: {"method":"xpath","selector":"//*[@id='page-container']/div/div[1]/form/fieldset/div[1]/input"}
解决方案
这对我有用,虽然它在 Scala 中,但选择器应该仍然是正确的。
driver.findElements(By.cssSelector("input[name='session[username_or_email]']")).get(1).sendKeys("some username")
driver.findElements(By.name("session[password]")).get(1).sendKeys("some password")
我最初尝试过
driver.findElement(By.cssSelector("input[name='session[username_or_email]']")).sendKeys("some username")
但是失败了,元素不可交互,但注意到它的大小为 3,所以尝试了 findElements 方法,该方法使用索引为 1
推荐阅读
- angular - 在 ngModel 中不显示变量
- c++ - 无法设置 wxDateTime 日月年
- python - 如何打印出文件中的所有大写字符串
- python - 如何将图像序列化为str并将其反序列化为图像?
- sql - 更新表并将字段值设置为左连接的结果
- java - 当提供给案例类的主要构造函数超过 254 列时,使用 Avrohugger 生成的 scala 类失败
- java - 如何使服务器将客户端重定向到另一台服务器?
- java - jmap堆转储中的org.hibernate.hql.internal.ast.tree.Node是什么意思
- javascript - jQuery 在 each() 中查找
- c++ - c++ - Eigen 如何进行动态矩阵和向量乘法?