繁体   English   中英

如何使用 Selenium 和 C# 单击按钮类型“提交”

[英]How to click on button type "submit" using Selenium and 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> .

它已准备好找到该元素但无法单击或无法提交该按钮

请尝试以下解决方案:

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

Actions action = new Actions(Driver);
action.MoveToElement(element).Perform();
action.Click();   

单击元素,因此您必须为所需的ElementToBeClickable引入WebDriverWait ,您可以使用以下任一定位器策略作为解决方案:

  • 使用CssSelectorSubmit()

     new WebDriverWait(driver, TimeSpan.FromSeconds(20)).Until(ExpectedConditions.ElementToBeClickable(By.CssSelector("button.btn.btn-primary.btn-sm.form-control[type='submit']"))).Submit();
  • 使用XPathClick()

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM