c# - 当我单击登录按钮时,页面会刷新。为什么?
问题描述
我正在使用带有 C# 的 Selenium ChromeDriver nuget 包。每次单击登录时,页面都会刷新,但没有任何反应。当我手动点击它工作正常。
static void Main(string[] args)
{
IWebDriver webDriver = new ChromeDriver();
// opening chrome
webDriver.Navigate().GoToUrl("http://google.com");
// opening adp site
webDriver.Navigate().GoToUrl("https://workforcenow.adp.com/workforcenow/login.html");
Thread.Sleep(10000);
// typing username
IWebElement usernameElement = webDriver.FindElement(By.Id("user_id"));
usernameElement.Click();
foreach(var letter in Username)
{
usernameElement.SendKeys(letter.ToString());
Thread.Sleep(1000);
}
Thread.Sleep(5000);
//todo: typing password
IWebElement passwordElement = webDriver.FindElement(By.Id("password"));
passwordElement.Click();
foreach (var letter in Password)
{
passwordElement.SendKeys(letter.ToString());
Thread.Sleep(1000);
}
Thread.Sleep(5000);
//todo: click sign in
IWebElement signInElement = webDriver.FindElement(By.Id("subBtn"));
signInElement.Click();
Console.ReadLine();
}
解决方案
您是否尝试使用 Javascript 执行器单击?
IJavaScriptExecutor 执行器 = ((IJavaScriptExecutor)Driver); executor.ExecuteScript("arguments[0].click();",signInElement);
推荐阅读
- c# - 将xml插入/替换到Xdocument的指定节点
- php - 从外部类调用具有依赖项 PHP 的方法
- api - 基于时间的端到端测试
- hibernate - Hibernate QL(通常是 SQL)子句中的 1:n 关系
- shell - 使用 if 条件执行 Make File 时出错
- data-binding - Angular 6 [(ngModel)] 在视图中不改变组件中的变量
- reactjs - 反应导航 | [eslint] 解析错误:意外令牌 = | 反应原生
- azure - Azure Docker 撰写因环境部分而失败
- java - 公共类Main和类Main有什么区别?
- php - 将 Base64 编码图像上传到 php 服务器