点击导航栏菜单元素,页面没有相应跳转

场景描述:

我们要进行的操作是点击一级导航栏中的待点击元素,点击之后出现二级导航栏,然后再次点击二级导航栏中的元素,iframe框架页面就会做相应的跳转。但是实际结果是元素定位并且点击到了,iframe页面还停留在默认页面,没有进行相应的跳转。

代码示例

# 点击 一级导航栏元素

driver.find_element_by_xpath('//*[@id="root"]/div/header/div[2]/aside/div[1]/div[1]/section[2]/nav/a[2]').click()

# 点击二级导航栏元素

driver.find_element_by_xpath('//*[@id="root"]/div/header/div[2]/aside/div[2]/nav/button[3]/span[1]/span').click()

报错截图

在这里插入图片描述

错误原因

由于网页中的元素很多,加载页面需要时间,点击一级导航栏的时候,二级导航栏还没有出来,直接去点击二级导航栏中的元素,就会导致元素找不到,在浏览器里显示的就是一级导航栏元素被点击,但是页面却不显示。

解决办法

在点击元素之前加上等待 time.sleep(1)就可以了。

修改后代码

import time

# 点击 一级导航栏元素
time.sleep(1)
driver.find_element_by_xpath('//*[@id="root"]/div/header/div[2]/aside/div[1]/div[1]/section[2]/nav/a[2]').click()

# 点击二级导航栏元素 
time.sleep(3)
driver.find_element_by_xpath('//*[@id="root"]/div/header/div[2]/aside/div[2]/nav/button[3]/span[1]/span').click()
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值