python+selenium 定位问题
1个公告页面查询前用link_text可以定位到但是通过搜索条件查询就在用link_text就定位不到了为什么...
1个公告页面查询前用link_text可以定位到 但是通过搜索条件查询就在用link_text就定位不到了 为什么
展开
1个回答
2017-07-04 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
关注
展开全部
在操作过程中主要遇到两种阻塞的问题,总结如下:
1、页面中有iframe,定位元素时,需要用switch_to.frame()转换到元素所在的frame上再去定位
2、遇到一种新情况,有些按钮在html上没有被赋予herf链接,而是由javascript控制跳转到新的页面,这种情况下点击按钮之后浏览器上打开一个新页面,但是浏览器的句柄handle仍然会停留在原页面(浏览器显示的句柄在新页面,所以不容易发现这个问题),而不是新弹出的页面上,所以要定位新页面的元素,必须先将句柄转移到新弹出的页面上,再去进行定位,用到如下语句:
#获得浏览器上所有窗口
handles = driver.window_handles
#转换到最新弹出的窗口
driver.switch_to.window(driver.window_handles[len(handles)-1])
跳转需要时间的话,加上time.sleep(2),再试就能定位成功了
希望对你有帮助!
1、页面中有iframe,定位元素时,需要用switch_to.frame()转换到元素所在的frame上再去定位
2、遇到一种新情况,有些按钮在html上没有被赋予herf链接,而是由javascript控制跳转到新的页面,这种情况下点击按钮之后浏览器上打开一个新页面,但是浏览器的句柄handle仍然会停留在原页面(浏览器显示的句柄在新页面,所以不容易发现这个问题),而不是新弹出的页面上,所以要定位新页面的元素,必须先将句柄转移到新弹出的页面上,再去进行定位,用到如下语句:
#获得浏览器上所有窗口
handles = driver.window_handles
#转换到最新弹出的窗口
driver.switch_to.window(driver.window_handles[len(handles)-1])
跳转需要时间的话,加上time.sleep(2),再试就能定位成功了
希望对你有帮助!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询