以下是组合框:
<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>
答案 0 :(得分:0)
我希望这应该有用
selenium.select("//td[@id='oldcontent']/select","label=text2")
答案 1 :(得分:0)
您是否尝试过选择标记的ID。
selenium.select("//select[@id='newcontentformat']","label=text2");
or
selenium.select("//td[@id='oldContent']/select[@id='newcontentformat']","label=text2");
答案 2 :(得分: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());
希望有所帮助
答案 3 :(得分:0)
虽然这个解决方案不是绝对的,但它会起作用。 您可以使用以下方法找到此下拉列表:// select [@ name ='Status'] / following :: select [@ name ='Status']您可以根据下拉数量添加更多内容。你也可以在它之前使用它想要向后开始。 请浏览Selenium.1.0.Testing.Tools.Beginners.Guide Ebbok。
答案 4 :(得分:0)
WebDriver driver = new InternetExplorerDriver(); driver.get( “http://agra.quikr.com/”); driver.findElement(By.xpath( “//选择[@ ID = 'alertcatSelectBox']”))的SendKeys( “工作”);
//为你的例子 driver.findElement(By.xpath( “//选择[@名称= '状态']”))的SendKeys( “文本2”);