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");

私が直面している問題は、テキスト2が見つからないというエラーが表示されることです。この同じ名前のステータスの上に他の選択ボックスがある可能性があるため、2つのドロップダウン/コンボボックスの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

selectタグの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

WebDriver ドライバー = 新しい InternetExplorerDriver(); driver.get("http://agra.quikr.com/"); driver.findElement(By.xpath("//select[@id='alertcatSelectBox']")).sendKeys("ジョブ");

// この例では driver.findElement(By.xpath("//select[@name='status']")).sendKeys("text2");

于 2012-11-19T08:58:33.660 に答える
0

これがうまくいくことを願っています

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

この解決策は絶対的なものではありませんが、うまくいきます。//select[@name='Status']/following::select[@name='Status'] ドロップダウンの数に応じて、さらに以下を追加できます。また、逆方向に開始したい場合は、その前に使用することもできます。Selenium.1.0.Testing.Tools.Beginners.Guide Ebbok を参照してください。

于 2012-11-16T07:39:35.330 に答える
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();

2 番目のアプローチ: 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 に答える