Facebook Login with Selenium for C#

本文关键字:for Selenium with Login Facebook | 更新日期: 2023-09-27 18:36:57

我一直在使用Selenium C#框架,并试图在Facebook上登录,但没有任何运气。

这就是我到目前为止得到的(基于这篇文章:使用Selenium测试Facebook Connect应用程序?)。不过我无法让它工作。

ISelenium sel = new DefaultSelenium("localhost", 4444, "*chrome", "http://facebook.com");
public void LoginWithEmailAndPassword(string email, string pass)
{
    sel.Start();
    sel.Open("http://www.facebook.com");
    sel.ClickAt("//img[''@alt='Facebook']", "User clicks on Facebook Login");
    sel.WaitForPopUp("", "3000");
    sel.SelectPopUp("");
    sel.Type("email", email);
    sel.Type("pass", pass);
    sel.KeyPress("pass", "''13");
    sel.SelectWindow("null");
}

因此,如果有人能为我提供一些如何执行此操作的示例代码,或者指导我朝着正确的方向前进,我们将不胜感激。

解决

通过使用Firefox Selenium插件的记录功能,我获得了id和使其工作所需的功能。登录按钮似乎需要一个XPath定义,这也是我从Selenium IDE获得的。

ISelenium sel = new DefaultSelenium("localhost", 4444, "*chrome", "http://facebook.com");
public void LoginWithEmailAndPassword(string email, string pass)
{
    sel.Start();
    sel.Open("/");
    sel.Type("id=email", email);
    sel.Type("id=pass", pass);
    sel.Click("//label[@id='loginbutton']/input");
}

Facebook Login with Selenium for C#

尝试使用 WebDriver:

IWebDriver driver = new FireFoxDriver();
driver.GoToUrl("www.facebook.com");
var element = driver.FindElement(By.Id("email"));
element.SendKeys(email);
...
element = driver.FindElement(By.Id("submit button id"));
element.Click();

此链接可以帮助您入门。