51Testing软件测试论坛

标题: python+selenium定位元素失败的问题 [打印本页]

作者: 测试积点老人    时间: 2021-8-19 11:18
标题: python+selenium定位元素失败的问题
以下是代买
  1. from selenium import webdriver
  2. browser = webdriver.Chrome()
  3. browser.get('https://www.douban.com/')
  4. clickelem = browser.find_element_by_xpath('/html/body/div[1]/div[1]/ul[1]/li[2]')
  5. clickelem.click()
  6. emailelem = browser.find_element_by_name('username')
  7. emailelem.send_keys('18869695278@163.com')
  8. passwordelem = browser.find_element_by_name("password")
  9. passwordelem.send_keys('qq85538790')
  10. passwordelem.submit()
复制代码
clickelem的xpath是chrome中直接复制的,但是无法定位,报错信息:
  1. selenium.common.exceptions.NoSuchElementException: Message: no such element: Unable to locate element: {"method":"xpath","selector":"/html/body/div[1]/div[1]/ul[1]/li[2]"}
  2. (Session info: chrome=92.0.4515.131)
复制代码



作者: happyangel_cy    时间: 2021-8-19 17:53
1.排查元素是否重复
2.通话F12console看看路径能不能查到元素
3.通过先父级、后子级方式查找
4.或者通过class、css_selector索引方式获取
作者: 海海豚    时间: 2021-8-20 09:42
改用id或者name定位呢
作者: qqq911    时间: 2021-8-20 10:50
用相对xpath路径
作者: bellas    时间: 2021-8-20 11:06
用相对路径试试
作者: jingzizx    时间: 2021-8-20 15:18
依次排查
作者: litingting0214    时间: 2021-8-20 17:17
在F12中复制一下 ,看能不能找到,并且看下找到的是否唯一
作者: 千里    时间: 2021-8-31 14:51
用其他的方式定位元素,然后再依次排查问题。目测是xpath路径不正确
作者: 就空城    时间: 2021-9-1 15:02
1、你需要定位的元素有框架,需要进入窗口
2、你需要定位的元素不存在,可能是因为网页还没有缓存好




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2