2014-01-10 18 views
1

Я хочу установить флажок ввода с помощью selenium webdriver и Java, я пытаюсь щелкнуть флажок внутри элемента ввода третьего заголовка (h3) страницы: -Установите флажок ввода в определенном тексте H3 с помощью Selenium Webdriver и Java

пример элемента: -

<h3 class="header-element"> 
    <input type="checkbox" checked=""/> 
    I want to click the checkbox for this particular text 
</h3> 
<h3 class="header-element"> 
    <input type="checkbox" checked=""/> 
    I dont want to click the checkbox for this text 
</h3> 

Я попробовал следующий метод

//h3[starts-with(text(),'I want to click')]/input 

и

//h3[text()='I want to click the checkbox for this particular text']/input 

Ничего из этого не работает. Можете ли вы предложить другой возможный способ сделать это. Благодарю.

+0

пожалуйста объясните ваш вопрос, данные недостаточно или запутанный – Lijo

+0

мне нравится, когда разработчики поставить слушатель метки флажка, так что если я нажимаю на ярлык, он переключает флажок, затем я могу щелкнуть по нему несколькими разными способами с селеном. – djangofan

ответ

1

xpaths, используемые в вопросе, не работают, потому что input на первом месте, а затем text.

Вы можете использовать положение элемента h3 в качестве значения check.

например, если оба элемента h3 находятся в пределах div, будет работать следующий xpath.

//div[@id='divs_id']/h3[@class='header-element'][1]/input 

Вышеупомянутый xpath нажмет на первый флажок. так же с помощью следующей XPath нажать на втором флажке,

//div[@id='divs_id']/h3[@class='header-element'][2]/input 
+0

не будет работать, если вы хотите щелкнуть конкретный флажок в списке из 100 элементов h3, например. Ответ от Павла работает. – Petsome

0

check this fiddle

это что-то вроде этого

<h3 class="header-element"> 
    <input type="checkbox" checked=""/> 
    I want to click the checkbox for this particular text 
</h3> 

<h3 class="header-element"> 
    <input type="checkbox" /> 
    I dont want to click the checkbox for this text 
</h3> 
+0

Я имею в виду поиск флажка с помощью webdriver и xpath – Petsome

2

Попробуйте использовать normalize-space():

//h3[normalize-space(.)='I want to click the checkbox for this particular text'] 
    /input 

или

//h3[starts-with(normalize-space(.))='I want to click']/input 

См http://www.w3.org/TR/xpath/#function-normalize-space

+0

Спасибо, Paul, normalize-space() исправлено его – Petsome

 Смежные вопросы

  • Нет связанных вопросов^_^