51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 6921|回复: 15
打印 上一主题 下一主题

[求助] selenium弹出窗出现了问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-4-19 10:29:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的测试工具是selenium IDE
录制过程:
在firefox浏览器下点击百度,搜索昆明三九手机网,点其链接进去后,点导航内的苹果系列。
结果录制回放的时候在点击《苹果系列》的这个行为上selenium出现错误。

错误信息:
[error] Element link=苹果系列 not found;

能告诉我怎么解决此问题么?
我在selenium内转化C#后在winform控件中运行.
调试后,同样在这出现了异常,一开始我以为是需要加上等待时间.
selenium.WaitForPageToLoad("30000");加上后同样没用.
求各位大侠解释
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

  • TA的每日心情
    擦汗
    2019-2-21 08:41
  • 签到天数: 289 天

    连续签到: 4 天

    [LV.8]测试军长

    2#
    发表于 2012-4-19 16:13:49 | 只看该作者
    ide里录制以后的回放可以成功么?表示从没转化过c#。。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
     楼主| 发表于 2012-4-19 16:32:59 | 只看该作者
    回复 2# jacksonren1987


       
    可以的...就是会出现问题
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    4#
    发表于 2012-4-19 17:19:38 | 只看该作者
    没办法解决,javascript的安全策略,你只能在一个域里面操作,不能跨出去。
    百度是一个域,其实你在录制的时候也看到了,你的base-URL就是baidu.com,那个手机网是另一个域,javascript不允许你从base-URL跳去另一个域进行操作的,所以找不到元素了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2012-4-20 09:36:15 | 只看该作者
    回复 4# 六月天
    能用C#嵌入浏览器么?这种方法可行么?
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2012-4-20 10:27:55 | 只看该作者
    click不行,试试clickAt方法。
    再不行把Link换掉,用 Xpath, CSS等方法。
    CSS=a[title*="苹果手机"]
    Xpath = //a[contains(text(),'苹果系列')]


    另外,如果是那种new window/frame的情况,需要用 switch_to_window/frame方法进行跳转,然后再操作。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
     楼主| 发表于 2012-4-20 11:06:46 | 只看该作者
    回复 6# WANDY
    能说得再详细点么?小弟新手..谢谢了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2012-4-20 12:50:08 | 只看该作者
    6楼的方法应该同样解决不了问题。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    9#
    发表于 2012-4-20 13:02:42 | 只看该作者
    我的思考是这样子的。

    Click方法改为ClickAt 这个也是自带的,不过不知道C#里面有没有,如果没有的话,就不用替换了。EX: selenium.click  ==>> selenium.clickAt

    或者更改查找对象的方法。如,改成Xpath或者CSS试试:
    selenium.Click("Link=苹果系列"); ==>>selenium.Click("//a[contains(text(),'苹果系列')]");

    编码问题?(这个问题用python处理中文的时候我遇到过,不过C#我不清楚会不会有这类问题。)

    试试在firefox运行。winform控件里运行不清楚-。-

    基本上就这样了,如果楼主解决了这个问题,也希望分享一下方案。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
    发表于 2012-4-20 17:34:54 | 只看该作者
    都说了不是定位的问题,定位本身没有任何问题的,不信的话,去掉百度那一段,把url-base改成那个九州手机网的地址,然后用原来的click事件,完全是正常运行的。所以你不管改click还是clickat,不管用什么定位方法,只要是百度链接过去的,肯定只有一个结果:not found。
    不解决同源问题就没办法跨域执行,就这么简单。所以这个问题别想了。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
    发表于 2012-6-28 14:27:25 | 只看该作者
    回复 9# WANDY


        python  怎么解决
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    12#
    发表于 2012-11-24 16:58:45 | 只看该作者
    Target,直接换上名称,就可以了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2022-5-8 19:23
  • 签到天数: 137 天

    连续签到: 1 天

    [LV.7]测试师长

    13#
    发表于 2012-11-24 17:16:52 | 只看该作者
    没玩过,学习了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    14#
    发表于 2013-1-25 18:12:53 | 只看该作者
    Thank you very much for sharing!The good man!The good life of peace!
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    15#
    发表于 2013-8-22 09:51:01 | 只看该作者
    selenium ide  不支持跨域。所以脚本找不到弹出页面的元素。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16#
    发表于 2015-12-7 14:32:54 | 只看该作者
    我也有这个问题 !
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-5-3 18:11 , Processed in 0.076119 second(s), 26 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表