【问题标题】:Selenium With Eclipse IDE Making Small BOTSelenium 与 Eclipse IDE 制作小型 BOT
【发布时间】:2014-01-27 15:33:38
【问题描述】:

我是计算机科学专业的新学生,如果我听起来很n00b,请原谅。

我正在尝试做一个简单的 BOT,它可以登录到 facebook 并发布状态。
我是在 JAVA 中的 Selenium 和 Eclipse IDE 的帮助下做到这一点的。

问题是虽然登录成功了,

但由于我的 Facebook 帐户未经过验证,它会进入验证页面。

我想要做的是我想创建一个 IF 条件,这样如果程序找到验证页面,它必须点击“不是现在”按钮 否则,如果帐户已经过验证,它可以从主页发布状态。

我该怎么做?

【问题讨论】:

  • 你为什么不尝试使用 Facebook API 而不是 Selenium?

标签: java eclipse facebook selenium


【解决方案1】:

您应该等待一段时间以在登录后出现 WebElement,例如包含用户名的 WebElement。如果它没有出现,您就知道浏览器上出现了其他页面或弹出窗口。

RemoteWebDriver 有 switchTo() 方法。您可以使用此方法处理弹出窗口。

Alert alert = driver.switchTo().alert();

驱动程序变量是一个 RemoteWebDriver,如 FirefoxDriver 等,您在上面的示例中导航一个警报窗口。

我分享一个示例代码,它应该如何逐步工作:

public void login(){
     String url="URL"
     driver.get(url);
     WebElement username= driver.findElement(By.name("username"));
     WebElement password= driver.findElement(By.name("password"));
     WebElement loginButton= driver.findElement(By.name("login_button_id"));
     Boolean isLogged=isSuccessFullyLogged(username,password,loginButton)

     if(!isLogged){
             //we need verification
     }
}

public boolean isLoggedSuccessfully(WebElement usr,WebElement psswd,WebElement button){
     if(usr!= null && psswd != null && button != null){
          usr.sendKeys("Blala");
          psswd.sendKeys("Blalaspasswd");
          button.submit();
          //We wait 10 sec to Welcome page appears on screen if it does not appear then  we need verification
          return (new WebDriverWait(driver, 10)).until(new         ExpectedCondition<Boolean>() {
                 public Boolean apply(WebDriver d) {
                       return d.getTitle().toLowerCase().startsWith("welcome!");

          });
     }      
}

希望这段代码对你有所帮助。

【讨论】:

  • 我知道。我发现麻烦的是,如果 BOT 遇到验证页面,我希望它点击“Not Now”按钮。但是如果没有显示验证页面,那么我希望它进入 ELSE 条件并发布状态
【解决方案2】:

在 selenium 中,您可以获取当前 url,因此您可以创建此条件。这里有什么问题?

【讨论】:

  • 如何从中创建 If 条件?
  • 我知道如何创建 IF 条件。你没有得到问题的要点。我无法为特定情况创建 IF-ELSE 条件。 IF 应该通过什么测试?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-05
  • 2018-12-29
相关资源
最近更新 更多