0

下面是组合框:

<TD ALIGN="left" id="oldcontent">
<select name="status" style="width=150" id="newcontentformat"><option value="14" selected="selected">text1</option>
<option value="15">text2</option>
<option value="16">text3</option></select>
</TD>

我需要在组合框/下拉菜单中选择 text2。我使用了以下内容:

selenium.select("//select[starts-with(@name,status)","text2");

我面临的问题是,它给了我一个错误text2 not found。因为在这个同名状态上方可能有其他选择框。所以我需要选择2个下拉/组合框的第二个元素。

请给我解决方案。它很紧急。在此先感谢

另一个td

<TD align="left" WIDTH="18%"><FONT ID="oldContent">
<select name="status" onchange="selectTime(this.options[this.selectedIndex].value)" id="newcontentformat">
<option value="" selected="selected"></option>
<option value="1">text100</option>
<option value="2">text200<</option>
<option value="3">text300<</option>
</TD>
4

5 回答 5

0

您是否尝试过选择标签的 id。

selenium.select("//select[@id='newcontentformat']","label=text2");

                               or

selenium.select("//td[@id='oldContent']/select[@id='newcontentformat']","label=text2");
于 2012-11-15T08:35:49.453 回答
0

我希望这应该工作

selenium.select("//td[@id='oldcontent']/select","label=text2")
于 2012-11-15T04:51:12.443 回答
0

出色地。我会尝试使用 css 选择器解决方案:

String cssDropdown="select[id='newcontentformat']";
String csstext200="select[id='newcontentformat']>option[value='2']";
driver.findElement(By.cssSelector(cssDropdown)).click();
driver.manage().timeouts().implicitlyWait(1,TimeUnit.SECONDS);
//Thread.sleep(1000);
driver.findElement(By.cssSelector(csstext200)).click();

第二种方法:如果支持 jQuery,您可以使用以下内容:

 JavascriptExecutor js = (JavascriptExecutor) driver;
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append("var x=$(\'"+csstext200+"\');");
        stringBuilder.append("return x.click()");
        (String) js.executeScript(stringBuilder.toString());

希望能帮助到你

于 2012-11-15T15:41:15.833 回答
0

虽然这个解决方案不是绝对的,但它会起作用。您可以使用以下方法找到此下拉列表: //select[@name='Status']/following::select[@name='Status'] 您可以根据下拉列表的数量添加更多关注。你也可以在它之前使用你想倒着开始。请通过 Selenium.1.0.Testing.Tools.Beginners.Guide Ebbok 。

于 2012-11-16T07:39:35.330 回答
0

WebDriver driver = new InternetExplorerDriver(); driver.get("http://agra.quikr.com/"); driver.findElement(By.xpath("//select[@id='alertcatSelectBox']")).sendKeys("Jobs");

// 对于您的示例 driver.findElement(By.xpath("//select[@name='status']")).sendKeys("text2");

于 2012-11-19T08:58:33.660 回答