新手区 H5 自动化,在用 Appium 获取当前 URL 的时候出现异常

shootingstar · February 13, 2015 · Last by shootingstar replied at February 16, 2015 · 1867 hits

大家好,我是社区新手,如果发帖格式不对,敬请谅解!
现在有一个困扰了许久的问题,还请各位大大支招,问题描述如下:

PC 环境:Win7
Android 版本:4.4.2
运行浏览器:Chrome

在执行 H5 的自动化过程中,我用 driver.Url 来获取当前页面的 URL,但是现在出现了一个问题是,如果访问的页面加载失败,那么获取到的 URL 就会变成如下样子:data:text/html,chromewebdata,但是此时页面的地址栏里面的 URL 还是正常显示的,请问这个原因是什么?谢谢~
PS:如果页面加载正常,那么获得的 URL 也是正常的

共收到 4 条回复 时间 点赞

把 Url 贴出来看看

data:text/html,chromewebdata应该是 chromedriver 启动浏览器的默认 url。至于加载不成功为啥会返回这个我只找到 selenium 有个相关 issue。官方标记为 fixed 但后面有人说在部分浏览器中还存在。
传送门(请科学上网):
Issue 4301: getCurrentUrl should return the current URL on a 404 page
建议换个方式来验证页面是否加载成功吧。

PS: 话说神马是 H5 自动化 ?该不会是 html5 自动化 吧?

#1 楼 @testly ,你好,URL 是这样子的:https://accounts.ctrip.com/H5login/callback.html?state=weiboDCCw2yCYWjSxAEvy&code=6777a540623cfe53bc4e06d245387a25
这个之所以跳转失败,是因为我本地设置了错误的 Host,目的就是为了跳转失败,然后获取这个 URL,谢谢

#2 楼 @chenhengjie123 是的,这个就是在做 HTML5 的自动化过程中发现的一个问题,这个加载不成功,是因为我设置了一个错误的 Host,目的就是为了跳转失败,然后获取这个 URL,但是页面上虽然显示的是 “无法显示网页”,但是地址栏里面的 URL 还是正常的

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up