按钮单击在Selenium Webdriver中不起作用。
尝试使用类名和xpath。
提交订单
//*[@id="main-content"]/div[3]/div[5]/div[1]/div/div[2]/div/div/button[2]
答案 0 :(得分:0)
您可以尝试使用Action Class或JavaScript Executor单击按钮:
动作类别:
Action action=new Actions(driver);
action.moveToElement(WebElement to Click).click().perform();
JS执行器:
((JavascriptExecutor) driver).executeScript("arguments[0].click();", driver.findElement(WebElement to Click));
答案 1 :(得分:0)
selenium web driver element click not working in windows 10
有很多原因导致点击无法正常工作,其中一些原因:
首先,尝试明显的操作(提交,不要单击)
driver.FindElement(By.XPath("//button[@type='submit']")).Submit();
如果上述方法无效,请继续此处。
为了绕过所有Click()
逻辑,请使用JavaScript进行原始点击。
var element = driver.FindElement(By.XPath("//button[@type='submit']"));
((IJavaScriptExecutor)driver).ExecuteScript("arguments[0].click();", element);
作为扩展方法
public static void JavaScriptClick(this IWebElement element)
{
// get the driver
var driver = (IJavaScriptExecutor)((IWrapsDriver)element).WrappedDriver;
// execute the click
driver.ExecuteScript("arguments[0].click();", element);
}
// usage
driver.FindElement(By.XPath("//button[@type='submit']")).JavaScriptClick();
资源
您可以检查Selenium Extensions(开源)以获取更多示例
在文件夹/src/csharp/Gravity.Core/Gravity.Core/Extensions
下
https://github.com/gravity-api/gravity-core
https://www.nuget.org/packages/Gravity.Core
如果您使用C#,则可以安装该软件包并直接使用其扩展名。
https://www.nuget.org/packages/Gravity.Core/
Install-Package Gravity.Core
答案 2 :(得分:0)
您可以通过两种方式尝试
Actions action = new Actions(driver);
element = driver.findElements(By.xpath("//*[@id="main-content"]/div[3]/div[5]/div[1]/div/div[2]/div/div/button"));
action.moveToElement(element).click();
或
driver.findElement(By.xpath("//*[@id="main-content"]/div[3]/div[5]/div[1]/div/div[2]/div/div/button")).sendkeys(Keys.Enter);
答案 3 :(得分:0)
我在 HtmlUnit 驱动程序上遇到了这个问题。解决方案是重新启用 css,因为我在驱动程序配置中禁用了它。
假设 z-index 不是从 css 加载的,这意味着按钮不可访问,因此不可点击。