Webdriver 我的脚本不是每次都成功运行。运行后,有时会成功运行1次,下次再次运行时会失败

Webdriver 我的脚本不是每次都成功运行。运行后,有时会成功运行1次,下次再次运行时会失败,webdriver,selenium-webdriver,Webdriver,Selenium Webdriver,我的脚本不是每次都成功运行。运行后,有时它会成功运行1次,下次我再次运行时它会失败。 包装实例 import java.io.FileInputStream; import java.io.FileOutputStream; import jxl.Sheet; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import

我的脚本不是每次都成功运行。运行后,有时它会成功运行1次,下次我再次运行时它会失败。 包装实例

import java.io.FileInputStream;
import java.io.FileOutputStream;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import java.util.Iterator;
import java.util.Set;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.ie.InternetExplorerDriver;

public class Script1 
{
public static void main(String args[])throws Exception
{
    //Take the data from input xls file
    FileInputStream fi =new FileInputStream("D:\\selenium_test\\Object 
       Repositoty\\Input\\Login1.xls");
    Workbook wb = Workbook.getWorkbook(fi);
    Sheet sh = wb.getSheet(0);

    //Create the Result xls file
    FileOutputStream fo = new FileOutputStream("D:\\selenium_test\\Object   
  Repositoty\\Output\\Login_Results1.xls");
    WritableWorkbook wwb = Workbook.createWorkbook(fo);
    WritableSheet ws = wwb.createSheet("Results", 0);
    Thread.sleep(20000);

    String msg = "";

    WebDriver driver = new InternetExplorerDriver();
    driver.get("https://www.700creditsolution.com");
    driver.manage().window().maximize();
    Set<String> windowids = driver.getWindowHandles();
    Iterator<String> iter= windowids.iterator();
    for (int i = 1; i < sh.getRows(); i++)
    {   
    while(iter.hasNext())
    {
        System.out.println("Main Window ID : "+iter.next());
    }
    driver.findElement(By.id("lgnLogin_UserName")).clear();
    driver.findElement(By.id("lgnLogin_UserName")).sendKeys(sh.getCell(0, 
    i).getContents());
    driver.findElement(By.id("lgnLogin_Password")).clear();
    driver.findElement(By.id("lgnLogin_Password")).sendKeys(sh.getCell(1, 
  i).getContents());
    driver.findElement(By.id("lgnLogin_LoginButton")).click();
    Thread.sleep(5000L);

    windowids = driver.getWindowHandles();
    iter= windowids.iterator();
    String main_windowID=iter.next();
    String tabbed_windowID=iter.next();
    System.out.println("Main Window ID :" +main_windowID);
    Thread.sleep(2000);
    //switch over to pop-up window
    driver.switchTo().window(tabbed_windowID);

    System.out.println("Pop-up window Title : "+driver.getTitle());
    driver.findElement(By.xpath("//*[@id='BtnClose']")).click();
    Thread.sleep(1000);
    driver.switchTo().window(main_windowID);
    msg= driver.findElement(By.xpath("//table[@id='lgnLogin']/tbody/tr/td/table
  /tbody/tr[4]/td")).getText();
    System.out.println(msg);
    Thread.sleep(2000);

//  driver.get("https://www.700creditsolution.com");
//  Thread.sleep(2000);

    for (int j = 0; j < sh.getColumns(); j++) 
    {
        Label lab=new Label(j,i,sh.getCell(j, i).getContents());    
        ws.addCell(lab);
        Label result = new Label(2,i, msg);
        ws.addCell(result); 
        String c2String = sh.getCell(2, i).getContents().toString();
        if(c2String.equalsIgnoreCase(msg))
        {
            Label status=new Label(3,i,"Pass");
            ws.addCell(status);
        }
        else
        {
            Label status=new Label(3,i,"Fail");
            ws.addCell(status);
        }
    }
    }

    Label un=new Label(0,0,"User ID");
    Label pw=new Label(1,0,"Password");
    Label rs=new Label(2,0,"Results");
    Label st=new Label(3,0,"Status");
    ws.addCell(un);
    ws.addCell(pw);
    ws.addCell(rs);
    ws.addCell(st);
            wwb.write();
            wwb.close();

    driver.quit();

}   
}
import java.io.FileInputStream;
导入java.io.FileOutputStream;
进口jxl.Sheet;
导入jxl.工作簿;
导入jxl.write.Label;
导入jxl.write.WritableSheet;
导入jxl.write.WritableWorkbook;
导入java.util.Iterator;
导入java.util.Set;
导入org.openqa.selenium.By;
导入org.openqa.selenium.WebDriver;
导入org.openqa.selenium.ie.InternetExplorerDriver;
公共类脚本1
{
公共静态void main(字符串args[])引发异常
{
//从输入xls文件中获取数据
FileInputStream fi=新的FileInputStream(“D:\\selenium\u测试\\对象
Repositoty\\Input\\Login1.xls”);
工作簿wb=Workbook.getWorkbook(fi);
表sh=wb.getSheet(0);
//创建结果xls文件
FileOutputStream fo=新的FileOutputStream(“D:\\selenium\u测试\\对象
Repositoty\\Output\\Login\u Results1.xls”);
WritableWorkbook wwb=工作簿.createWorkbook(fo);
WritableSheet ws=wwb.createSheet(“结果”,0);
睡眠(20000);
字符串msg=“”;
WebDriver驱动程序=新的InternetExplorerDriver();
驱动程序。获取(“https://www.700creditsolution.com");
driver.manage().window().maximize();
设置windowids=driver.getWindowHandles();
迭代器iter=windowids.Iterator();
对于(int i=1;i

请尽快帮我解决这个问题。在我的系统中,我有windows7,IE9。我的应用程序仅在IE中提供最佳支持。我们将非常感谢您的帮助。

您的代码中没有处理过任何异常


运行脚本,如果它失败,请尝试理解异常、生成异常的原因并正确处理它,重复此操作直到处理所有异常。谢谢。

脚本失败时会出现什么错误?错误将显示在此位置。findelelement(By.xpath(“//*[@id='BtnClose']”)。单击();显示的错误消息是“log4j:WARN找不到记录器(org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager)的追加器”.log4j:警告请正确初始化log4j系统。主窗口ID:ac70653a-8834-4843-bfde-16b229beed98主窗口ID:28deebd4-025e-4eaa-8c66-e59e24e39332主窗口ID:ac70653a-8834-4843-bfde-16b229beed98弹出窗口标题:禁用用户警报因未激活而禁用dow ID:8b92c617-8072-4b25-aa11-47fdc0b54477弹出窗口标题:700Dealers Inc.线程“main”中的异常org.openqa.selenium.NoSuchElementException:无法找到xpath=/*[@ID='BtnClose']的元素(警告:服务器未提供任何堆栈跟踪信息)命令持续时间或超时:280毫秒有关此错误的文档,请访问:生成信息:版本:'2.21.0',修订版:'16552',时间:'2012-04-11 19:08:38'系统信息:os.name:'Windows 7',os.arch:'x86',os.version:'6.1',java.version:'1.6.0_23'驱动程序信息:Driver.version:RemoteWebDriver at sun.reflect.NativeConstructorAccessosun.reflect.NativeConstructorAccessorImpl.newInstance(未知源)上的rImpl.newInstance0(本机方法)在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(未知源)上的java.lang.reflect.Constructor.newInstance(未知源)在org.openqa.selenium.remote.ErrorHandler.CreateTrowable上的newInstance(未知源)(ErrorHandler.java:175)在org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:128)在org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:459)在org.openqa.selenium.RemoteWebDriver.findElement(RemoteWebDriver.java:227)在org.openqa.selenium.remote.remote.RemoteWebDr