无法点击obj或链接以便在弹出式购物车中付款

时间:2017-03-17 08:12:25

标签: html selenium robotframework

此问题是RobotFramework(Selenium)语言的规范。 确认购买后我想点击按钮(" i.stack.imgur.com/PTNYl.jpg")

有关详细信息,请参阅下面带有订购号码的图片

  1. 选择2项。
  2. 点击"สั่งซื้อ" (确认购买)。
  3. 购物车的弹出窗口将显示说明和付款按钮图片。
  4. Click

    网站" www.tarad.com/product/5807261#cart"

    代码:(保存为.txt并在命令提示符下运行)

    Open Browser    http://www.tarad.com/product/5807261#cart    chrome
    Select From List By Value    product_qty    2
    Click Button    f_buy
    Wait Until Page Contains Element    xpath=//*[@id="flyout_cart"]/div[6]/a/
    Click Link    xpath=//*[@id='flyout_cart']/div[6]/a/span[@id='btn-payment']
    

    click

    我可以找到此弹出式购物车说明,但无法点击按钮进行付款,此外,我尝试使用点击图片,点击链接,点击带有Chrome浏览器的付款按钮xpath的元素。

    我为我的英文写作道歉,感谢您的关注。

1 个答案:

答案 0 :(得分:1)

如果您不确定基础元素是否为该类型,请不要使用Click Link和Click Image - 使用常规Click元素。查看您指定的定位器,目标是一个跨度,因此Element应该这样做。

遗憾的是我现在无法打开网站查看html(移动设备...),但是到目前为止您正在使用的定位器:

  • 不使用索引路径 - div [6]在那里 - 如果页面结构稍微改变,它们可以轻松制动(这可能是你的运行情况)
  • 尽量不要使用直接后代(单个/),除非你不确定从长远来看结构是否会保持不变 - 它们比“任何下降”快得多 - 即//,但同样,如果结构在将来的构建中发生变化,它们将会中断。无论好坏,这两个底片都是浏览器在要求他们创建xpath时生成的。
  • 最后,我在您的示例中看到目标跨度具有id属性 - 这是(几乎总是)最安全和最快的定位器策略。所以删除它之前的所有内容,并将元素称为“id = btn-payment”

E.g。将最后一次通话更改为

Click Element    id=btn-payment

希望这会为你解决它