下拉同名

Drop down having same name

如果 2 个下拉菜单同名,如何 select 一个下拉菜单?我需要 select drop downs.both 具有相同名称的下拉菜单。下拉列表的 Id 是动态生成的。请帮忙

1.

<select id="trin" 
    class="ng-scope ng-valid-r-min non-empty ng-dirty ng-valid-parse 
           ng-valid ng-valid-required ng-touched"
    ng-model="formData.agesOfChildren[nr]" 
    r-floating-label="Alder på barn" 
    tooltip="" r-min="1" 
    required="" only-digits="" 
    tabindex="0" name="agesOfChildren">

2.

<select id="ywf1" 
   class="ng-scope ng-valid-r-min non-empty 
          ng-dirty ng-valid-parse ng-valid ng-valid-required ng-touched" 
   ng-model="formData.agesOfChildren[nr]" 
   r-floating-label="Alder på barn"
   tooltip="" r-min="1" 
   required="" only-digits="" 
   tabindex="0" name="agesOfChildren">

我相信有两个下拉菜单,它们都具有相同的属性,并且生成了它们的 ID。但是,它们的 xpath 会有所不同。

您必须从浏览器中检查两个下拉菜单。执行以下操作:

  1. 右键单击 Chrome
  2. 中的每个下拉菜单
  3. Select 检查元素
  4. 右键单击突出显示的代码并select复制 Xpath 或 CSSPath

试试这个 Xpath

第二个下拉菜单

//select[@class='ng-scope ng-valid-r-min non-empty 
      ng-dirty ng-valid-parse ng-valid ng-valid-required ng-touched'][1]

第一个下拉列表

//select[@class='ng-scope ng-valid-r-min non-empty ng-dirty ng-valid-parse 
       ng-valid ng-valid-required ng-touched'][2]

自从生成 ID 以来,除了 DOM 结构之外,确实没有太多方法可以将这些元素与其他元素区分开来。

您可以查看可能选择的值并以这种方式构造您的选择器,但如果这些是 same/similar,那也无济于事。

使用DOM结构:

第一个 Select 元素:

//select[@class="ng-scope ng-valid-r-min non-empty ng-dirty ng-valid-parse ng-valid ng-valid-required ng-touched"][1]

第二个 Select 元素:

//select[@class="ng-scope ng-valid-r-min non-empty ng-dirty ng-valid-parse ng-valid ng-valid-required ng-touched"][2]

我通常尽量避免使用 DOM 结构选择器,因为可以通过 javascript 操纵和更改 DOM 的方式有很多种,但在这种情况下,确实存在除了联系开发人员并要求他们为每一个添加差异化 class 之外,没有其他选择。