问题是选项标签发生变化,因此我无法通过标签抓取。我需要通过选项[0]
来抓取任何想法?
我正在使用Selenium IDE(Firefox),这是我要问的问题:
<tr>
<td>select</td>
<td>dateRangeString</td>
<td>index=1</td>
</tr>
最后一个TD在IDE中有VALUE字段,
我已经定位了select元素,但我需要模拟用户选择第一个选项。我看到这样做的唯一方法是在IDE的VALUE部分使用LABEL =“string”,但字符串是动态的,因此无法正常工作!
答案 0 :(得分:11)
您可以使用XPath //select/option[index]
选择它。
请记住,XPath是标准的基于1的索引。
问题更新后编辑
您可以使用多种不同方式从选择中选择一个选项。下面已经从Selenium IDE中复制了如何创建选项定位器。要选择第一项,它将是index=0
select(selectLocator,optionLocator) 参数:
* selectLocator - an element locator identifying a drop-down menu * optionLocator - an option locator (a label by default) Select an option from a drop-down using an option locator. Option locators provide different ways of specifying options of an HTML
选择元素(例如选择a 特定选项,或用于断言 所选选项满足a 规格)。有几个 选择选项定位器的形式。
* label=labelPattern: matches options based on their labels, i.e. the visible text. (This is the default.)
o label=regexp:^[Oo]ther
* value=valuePattern: matches options based on their values.
o value=other
* id=id: matches options based on their ids.
o id=option1
* index=index: matches an option based on its index (offset from zero).
o index=2
If no option locator prefix is provided, the default behaviour is to
在标签上匹配。
答案 1 :(得分:6)
不使用label =“”,而是尝试使用index =“1”(以选择第一个元素)。对于这种情况,Selenium提供label =“”,id =“”,value =“”和index =“”。有关更多详细信息,请参阅:
http://release.seleniumhq.org/selenium-core/0.8.0/reference.html
答案 2 :(得分:3)
整蛊,但“类型”命令帮助了我:
<tr>
<td>type</td>
<td>id=numStuff</td>
<td>1</td>
</tr>
相应的html看起来像这样(除了@id和@name属性)
<select id="numStuff" name="numStuff">
<option selected= value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
我想知道它是否适用于超过1次击键的选项值。至少,它暂时是好的。
答案 3 :(得分:0)
在C#中,我使用以下方法解决了这个问题: selenium.Select(&#34; id = yourID&#34;,&#34; index =&#34; + i.ToString());
答案 4 :(得分:0)
在selenium IDE中我用过:
命令:选择
目标:XPath目标以select(非选项)结尾。可以使用FireBug和FirePath获取XPath。
价值:E.G。 “得克萨斯” 或者你需要的任何价值模式
答案 5 :(得分:0)
例如:
select | Locator | index=1 |
它对我有用。