У меня есть довольно специфическая проблема как для селена, так и для xpath.Selenium select dropdown element using xpath string
Мне нужно сделать автоматические тесты, основанные на сценариях с использованием селена. Все страницы создаются автоматически и использование идентификаторов невозможно.
Все элементы формы, хотя и разработаны таким же образом.
<table>
<tr><td> Title </td></tr>
<tr><td> input/dropdown/etc </td></tr>
</table>
Он специфика
<tr>
<td width="34%" valign="top" bgcolor="#ffffc7">
<span class="bold">Status wniosku</span>
<span>Test</span>
</td>
<td width="66%" bgcolor="#ffffc7">
<select id="ctl00_ContentPlaceHolder_2041" class="baseCtrl" name="ctl00$ContentPlaceHolder$2041">
<option value="" selected="selected">- wybierz -</option>
<option value="save">tylko zapisz</option>
<option value="pj">zapisz i wyślij do PJ</option>
</select>
<span>
</span>
<span id="ctl00_ContentPlaceHolder_ctl19" class="validation" style="display:none;">Określ status wniosku</span>
<span id="ctl00_ContentPlaceHolder_ctl20" class="validation" style="display:none;"></span>
<span></span>
</td>
</tr>
Использование http://www.xmlme.com/XpathTool.aspx Я разработал XPath для раскрывающихся элементов.
//span[text()='LABELNAME']/ancestor::*[1]/following-sibling::*/select/option[text()='TEXTVALUE']
Я бы хотел использовать Selenium, чтобы щелкнуть элемент, который я нашел. Я пробовал Selenium.Click() и варианты Selenium.Select(), но без результатов.
Мой вопрос в том, правильно ли разработан xpath? Если да, то как мне его выполнить, используя Selenium? Thx за помощь.
В вашем примере HTML выше, чем * точным * элемент вы пытаетесь нажать? Трудно сказать. Также, какой браузер вы используете для этого? – Arran
Я использую интернет-проводник. Я пытаюсь щелкнуть один из вариантов раскрывающегося списка. Я не уверен, должен ли я щелкнуть по нему или выбрать его. В моем расширении я пытаюсь нажать «tylko zapisz». Selenium.Click ("// span [text() = 'Status wniosku']/ancestor :: * [1]/next-sibling :: */select/option [текст() = 'tylko zapisz'"); – Shuffler