51Testing软件测试论坛
标题:
python+selenium定位网页元素
[打印本页]
作者:
测试积点老人
时间:
2022-6-6 10:18
标题:
python+selenium定位网页元素
使用python+selenium,在访问百度贴吧帖子时,如果是直接进入对应贴吧网站,再定位元素点开帖子,没有问题。但是先在百度贴吧首页搜索贴吧,再定位元素点开帖子,元素无法定位到。使用的火狐浏览器
正常运行的代码:
br = webdriver.Firefox(service=Service(r'D:\seleniumJava\drivers\geckodriver.exe'))
br.get('https://tieba.baidu.com/f?ie=utf-8&kw=%E6%88%98%E8%88%B0%E4%B8%96%E7%95%8C&fr=search')
time.sleep(2)
element='/html/body/div[3]/div/div[2]/div/div/div[1]/div/div/div/div[5]/ul/li[2]/div/div[2]/div/div/a'
title=br.find_element(By.XPATH, element).text
print(title)
br.find_element(By.XPATH,element).click()
复制代码
无法定位到元素的代码:
br = webdriver.Firefox(service=Service(r'D:\seleniumJava\drivers\geckodriver.exe'))
br.get('https://tieba.baidu.com/index.html')
time.sleep(3)
br.find_element(By.XPATH, '//*[@id="wd1"]').send_keys('战舰世界' + Keys.ENTER)
time.sleep(1)
element='/html/body/div[3]/div/div[2]/div/div/div[1]/div/div/div/div[5]/ul/li[2]/div/div[2]/div/div/a'
title=br.find_element(By.XPATH, element).text
print(title)
复制代码
报错提示
selenium.common.exceptions.NoSuchElementException: Message: Unable to locate element:
/html/body/div[3]/div/div[2]/div/div/div[1]/div/div/div/div[5]/ul/li[2]/div/div[2]/div/div/a
复制代码
我检查过,窗口句柄没有改变,是同一个窗口,也没有框架存在,而且用selenium IDE操作第二种的话,是能够正常搜索进入对应贴吧并打开第一个非置顶帖的
作者:
bellas
时间:
2022-6-7 10:31
换个浏览器试下
作者:
kallinr
时间:
2022-6-7 10:38
检查元素是否变化
作者:
qqq911
时间:
2022-6-7 10:55
换个定位方式
作者:
jingzizx
时间:
2022-6-7 14:26
应该可以啊
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2