【问题标题】:How to select a radio button that changes its id' in selenium?如何选择一个单选按钮,在硒中更改其 id'?
【发布时间】:2012-03-21 05:12:42
【问题描述】:

我需要一些帮助来尝试选择 Selenium IDE 上的单选按钮。 此单选按钮值随机更改,因此我无法选择单选按钮。

【问题讨论】:

    标签: java dynamic selenium radio-button selenium-ide


    【解决方案1】:

    除了引用元素的 id 之外,selenium 可以通过多种方式定位元素。您是否也尝试过使用 xpath 或 css 选择器?查看 selenium docs 以查找元素,以获取使用 xpath 或 css 选择器的示例。

    发布你的 html 示例,我可以帮助你编写选择器。

    【讨论】:

    • 感谢您的回答。 html为: clickAndWait Ok click //输入[@name='encodedcollection_COLLECTION' 和@value='1169268']
    • 没有问题。我实际上是指您要测试的页面的 html。不是硒测试用例。很抱歉造成混乱。
    【解决方案2】:

    使用以下命令:

    storeAttribute| path of area where radiobutton placed @ id| variableName
    

    现在你有了那个元素的动态 id。使用该值点击它。

    click| ${variableName}
    

    【讨论】:

    • 主要问题是我无法获得放置单选按钮区域的正确路径。这个 ID 不断变化,我找不到radioButton HTML Xpath 来输入正确的路径。您的答案只有一个问题,在 Selenium IDE 脚本的哪一部分中写入了 storeAttribute?你能给我举个例子吗?非常感谢您的帮助!
    • 如果您提供单选按钮所在的 HTML 部分,那就太好了。仅供参考,storeAttribute 是命令,变量@ID 的路径是您的目标,值作为变量名。
    【解决方案3】:

    使用 CSS 或 Xpath 选择器,而不是录制脚本时使用的默认选择器。

    例如,尝试this page 与单选按钮示例,向下滚动到牛奶/黄油/奶酪示例:

    第一个单选按钮(“牛奶”)的选择器可以是以下之一:

    css = .table5 > input
    css = .table5 > input[value='Milk']
    

    您可以选择第二个按钮的几种方法是:

    css = .table5 > input ~ input
    css = .table5 > input[value='Butter']
    

    您可能需要阅读 CSS 选择器和/或 Xpath。您可以在网络上搜索备忘单和引物。它们对于优化 Selenium 脚本都是必不可少的,无论是 IDE、RC 还是 Webdriver。

    您会发现Firepath 也是帮助您构建选择器的好工具。

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签