Я пишу код для проверки веб-страницы с использованием Selenium в C#, и мне нужно щелкнуть флажок с динамически сгенерированными параметрами. Вот отрывок из HTML:Selenium - Щелчок флажка по метке
<input type="checkbox" value="2948" onclick="locBoxOnClick(this, 0);" name="locCombo2948">
<label for="locCombo2948">
AL
<br>
</label>
я могу найти ярлык с помощью XPath, но когда я пытаюсь на самом деле нажмите на поле, ничего не происходит.
Код:
By.XPath("(//*[contains(text(), '" + appDto.StatePicker_SpecificCheckbox + "')])").Click();
EDIT: Наконец решил его помощью несколько гетто метод, но он работает:
By.XPath(".//label[contains(text(), '" + appDto.StatePicker_SpecificCheckbox + "')]/../input")
В основном вы найдете ярлык, перейдите к родительскому узлу, а затем перейти к это входной дочерний узел. Надеюсь, это поможет кому-то еще с этой проблемой!
Он вернул исключение NullReferenceException, когда я попытался, к сожалению :( – JohnDoe2016
Как вы пробовали? не могли бы вы поделиться пожалуйста ?? –
Для предоставленного HTML это будет 'driver.FindElement (By.XPath (" .// input [next-sibling :: label [содержит (., 'AL')]] ")). Click();' –