Ruby 如何使id不断变化但标题保持不变的页面自动化?

Ruby 如何使id不断变化但标题保持不变的页面自动化?,ruby,watir,Ruby,Watir,我们有一个web应用程序,它有一个报告列表,我正在尝试将其自动化 有一个选项可以查看所有这些报告。当我打开要查看的报表时,我需要选择一些值来查看它,这就是我遇到的问题 用于这些报告的id是通用的。如果应用程序的id为,则不同报告中的同一标签将具有不同的id。如何从这里开始 给出两个示例报告的标签: 第一次报告: <div> <label id="PackageID"> Package ID <span class="required">*<

我们有一个web应用程序,它有一个报告列表,我正在尝试将其自动化

有一个选项可以查看所有这些报告。当我打开要查看的报表时,我需要选择一些值来查看它,这就是我遇到的问题

用于这些报告的id是通用的。如果应用程序的id为,则不同报告中的同一标签将具有不同的id。如何从这里开始

给出两个示例报告的标签:

第一次报告:

<div>
 <label id="PackageID">
       Package ID <span class="required">*</span></label>
    <input id="id_1__Name" name="id[1].Name" type="hidden" value="PackageID">
    <select id="id_1__SelectedValues" name="id[1].SelectedValues" class="valid">
  </div>
第二次报告:

<div>
 <label id="PackageID">
       Package ID <span class="required">*</span></label>
    <input id="id_5__Name" name="id[5].Name" type="hidden" value="PackageID">
    <select id="id_5__SelectedValues" name="id[5].SelectedValues" class="valid">
  </div>

不确定此建议是否适合您的场景,但您可以使用jQuery获取id并将其存储在隐藏字段中:

var id = $('.className').attr('id');

或者使用控件。

无论如何,选择您需要的适当值

@browser.select_list(:id, "id_5__SelectedValues").set("3")

你能分享更多的html吗。可能存在同时包含报表名称和字段的父元素,或者用户用来区分字段的内容。您可以使用此父元素来区分字段,而不是通过动态id。您可以看到一个。我不明白这个问题。有什么问题?你的目标是什么?