у меня ниже html
<div id="Show">
<label style="width: 150px">Show options</label>
<div class="toggle btn btn-default" data-toggle="toggle" data-bind="toggle:mySettings().ShowMe, css:{off:!mySettings().ShowMe()}">
<div class="toggle-group">
<label class="btn btn-primary toggle-on">ON</label>
<label class="btn btn-default active toggle-off">OFF</label>
<span class="toggle-handle btn btn-default"></span>
</div>
</div>
</div>
Я хочу посмотреть, включена кнопка или выключена. Если он включен, то я хочу выключить его и наоборот. Поэтому я попробовал приведенный ниже код, чтобы включить
var statusOfButton = WebDriver.WaitFor(
ExpectedConditions.ElementExists(By.XPath("//label[@class='btn btn-primary toggle-on']")),
TimeSpan.FromSeconds(5));
if (!statusOfButton.Selected)
{
var offButtonElement = WebDriver.WaitFor(
ExpectedConditions.ElementExists(By.XPath("//label[@class='toggle btn btn-default off']")),
TimeSpan.FromSeconds(2));
offButtonElement.Click();
}
Это сработало для первого экземпляра при запуске теста. Изначально кнопка была выключена, поэтому она была включена. В следующий раз, когда тест запустился, кнопка была включена, а затем я получил ошибку в этой строке, говорящую, что такой элемент не найден.
var offButtonElement = WebDriver.WaitFor(
ExpectedConditions.ElementExists(By.XPath("//label[@class='toggle btn btn-default off']")),
TimeSpan.FromSeconds(2));
Как это исправить?