如何使用java selenium web驱动程序强制单击按钮

时间:2013-11-18 20:28:51

标签: java facebook selenium

我正在使用带有java的selenium web驱动程序。

在Facebook上为我的应用程序开发自动化,所以每当我第一次在Facebook中添加我的应用程序时,它都会通过okay按钮询问权限

我正在尝试使用我的代码单击“okay”按钮,但这不起作用。

使用带有java的selenium web驱动程序有没有更好的方法点击okay按钮?

我尝试的是:

1)driver.findElemenr(element).click();

2)Actions action = new Actions(driver);
  action.click(element)   

3)Actions action = new Actions(driver);
  action.moveToElement(element).click()

4)Actions action = new Actions(driver);
  action.KeyDown(element, Keys.ENTER);

如果你想提出我的问题,请告诉我之前的原因

3 个答案:

答案 0 :(得分:0)

我认为您正在寻找Selenium中的isEnabled()方法。您可以做的是,在使用webdriver单击按钮后,您可以检查按钮的状态,并在按钮仍处于启用状态时重复单击过程。

答案 1 :(得分:0)

你只需尝试下面的逻辑。

int i=0;
while(isElementPresent(button) && i<10)
{
        Thread.sleep(1000);
                driver.findElement(button).click();
                i++;
}

上面的代码会尝试点击按钮直到它出现或 i (int i)达到10.(循环断点)

您可以找到isElementPresent方法实现here

答案 2 :(得分:0)

你可以试试这个,

 WebDriverWait button = new WebDriverWait(driver,60);      
 button.until(ExpectedConditions.elementToBeClickable(element));
 button.click();

如果条件(元素是可点击的)在60秒之前得到满足,那么将等待60秒以使按钮可被点击,好的,按钮将被点击,否则将抛出异常......

ExpectedConditions class provides many useful methods