c# - 无法以编程方式单击网站按钮
问题描述
我已经尝试了很多方法我只是无法让它工作我想自动登录到这个网站这里是网站http://www.action-manga.com/account/login 我能够发送用户名和密码但是我无法点击登录按钮
我尝试过 WebBrowser 和 Selenium(firefox 和 chrome)
ChromeDriver cd = new ChromeDriver();
cd.Url = url;
cd.Navigate();
IWebElement we = cd.FindElementByName("user-email");
we.SendKeys("****");
we = cd.FindElementByName("user-password");
we.SendKeys("****");
Thread.Sleep(3000);
we = cd.FindElementByClassName("frmSBM button");
we.Click();
//these also
//we = cd.FindElementByName("ws_login");
//we.Click();
//((IJavaScriptExecutor)(cd)).ExecuteScript("arguments[0].click();", cd.FindElement(By.Name("ws_login")));
//((IJavaScriptExecutor)cd).ExecuteScript("arguments[0].trigger('click');", cd.FindElement(By.ClassName("frmSBM button")));
和网络浏览器
public partial class MainWindow : Window
{
WebBrowser wb = new WebBrowser();
public MainWindow()
{
InitializeComponent();
wb.ScriptErrorsSuppressed = true;
wb.Navigate(url);
wb.DocumentCompleted += Wb_DocumentCompleted;
}
private void Wb_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (e.Url.AbsolutePath != (sender as WebBrowser).Url.AbsolutePath)
return;
if (!is_sec_page)
{
//Set username and password strings
string usernameString = "****";
string passwordString = "****";
//Input in to username field
var x = wb.Document.All.GetElementsByName("user-email");
x[0].InnerText = usernameString;
//Input in to password fields
var y = wb.Document.All.GetElementsByName("user-password");
y[0].InnerText = passwordString;
//Click the login button
var s = wb.Document.All.GetElementsByName("ws_login");
s[0].InvokeMember("click");
is_sec_page = true;
}
else
{
//intract with sec page elements with theire ids and so on
}
}
}
和许多其他方式,这里是标记
<div class="form-group frmINP buttons"> <input type="hidden" name="ws_login" value="uLogOct"> <button class="frmSBM button">دخول</button> </div>
解决方案
推荐阅读
- ios - 当设备“A”尝试连接设备“B”时,设备“A”的 BT 与 iPhone 自动断开连接
- python-3.x - Python错误“AttributeError:模块'scipy.misc'没有属性'logsumexp'”
- ionic4 - iOS 12 无法触发 inappbrowder 的 loadstop 和 loadstart 事件
- reactjs - Uncaught Invariant Violation:当使用 InfoWindow 渲染地图时,对象作为 React 子级无效(发现:带有键 {} 的对象)
- swift - 如何从服务器下载图像并快速显示淡入淡出动画?
- python-3.x - 如何通过将方法名称传递给函数参数来调用python的get或请求库的任何方法?
- c# - 为什么实体框架不为我的第二个查询使用 ReadUncommitted?
- java - jar 文件打不开
- css - 如何正确定位径向渐变背景?
- macos - 如何在 macOS mojave 的终端中为文件扩展名设置默认应用程序?