Я пишу интеграционные тесты в C#, и когда я использую метод click() для определенных элементов внутри диалогового окна, ничего не происходит, и я не получаю никаких ошибок. Он щелкнет некоторые элементы внутри диалогового окна, но не другие. Я думал, что если он не будет их правильно выбирать, он будет бросать и исключать, но он работает гладко и говорит, что тест прошел, даже если он на самом деле не нажал кнопку. Диалоговое окно представляет собой iframe.Selenium chrome driver click() метод не всегда нажимает на элементы
Я подумал, что он пытается нажать на кнопку, которая еще не была включена или отображения, поэтому я добавил это перед кнопкой() вызова:
_driver.SwitchTo().Frame(_frameElement);
_wait.Until(d =>
{
var shippingInfoButton = d.FindElement(By.CssSelector("input[title ='Info']"));
return shippingInfoButton.Displayed && shippingInfoButton.Enabled;
});
var infoButton = _driver.FindElement(By.CssSelector("input[title ='Info']"));
ScrollToElement(infoButton);
infoButton.Click();
снова это работает без каких-либо исключений, выброшенных так что я m, предположив, что он нашел элемент, и он отображается и активируется.
Сообщите мне, если вам нужна дополнительная информация. Спасибо
где вы нажимаете? Из того, что я вижу, вы только находите элемент? – Amey
прямо под этой строкой кода. – Mitch
Я вижу, что вы обновили свой вопрос. – Amey