Как нажать на кнопку типа submit с помощью Selenium и C #

Испытания кода:

chrome[row_index].FindElementByXPath("//*[@id=\"app\"]/div/div[1]/div[2]/div[3]/div[2]/div/button").Submit();

а также

chrome[row_index].FindElementByXPath("//*[@id=\"app\"]/div/div[1]/div[2]/div[3]/div[2]/div/button").Click();

Это сообщение об ошибке:

An exception of type 'OpenQA.Selenium.ElementClickInterceptedException' occurred in WebDriver.dll but was not handled in user code element click intercepted: Element <button data-v-7b27a432="" type="submit" class="btn btn-primary btn-sm form-control mt-3">...</button> is not clickable at point (464, 863). Other element would receive the click: <i data-v-5e808f53="" class="font-20 d-block mb-1 icon-question"></i>

Это HTML-код кнопки:

<button data-v-7b27a432="" type="submit" class="btn btn-primary btn-sm form-control mt-3">Tiếp Tục</button> .

Он готов найти этот элемент, но не может нажать или не может отправить эту кнопку


person Lộc Nguyễn Tấn    schedule 30.03.2020    source источник
comment
Использовать element.Submit(); метод   -  person NarendraR    schedule 30.03.2020
comment
@ LộcNguyễnTấn Я добавил закрывающую треугольную скобку, чтобы сделать узел допустимым. Сообщите мне, если изменение выглядит хорошо.   -  person DebanjanB    schedule 30.03.2020


Ответы (2)


Пожалуйста, попробуйте следующее решение:

IWebElement element = driver.FindElement(By.Xpath("//button[contains(text(),'Tiếp Tục')]"));

Actions action = new Actions(Driver);
action.MoveToElement(element).Perform();
action.Click();   
person SeleniumUser    schedule 30.03.2020

Щелкните элемент, чтобы вызвать WebDriverWait для желаемого ElementToBeClickable, и вы можете использовать любой из следующих Стратегии поиска в качестве решений:

  • Использование CssSelector и Submit():

    new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.CssSelector("button.btn.btn-primary.btn-sm.form-control[type='submit']"))).Submit();
    
  • Использование XPath и Click():

    new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.XPath("//button[contains(@class, 'form-control') and text()='Tiếp Tục']"))).Click();
    
person DebanjanB    schedule 30.03.2020