java - 为什么我每次尝试使用 selenium 测试脚本登录 Naukari.com 时都会收到 1001 错误?

标签 java selenium testing automation

Naukari error img: I am getting This error on naukari page but on doing manually it does not appear

我正在尝试使 Naukari.com 自动化,以便它每天自行更新,而不是我每天访问该网站来进行更新。我的脚本如下:

package naukariUpdate;

import java.util.Set;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import naukariLoginPOM.LoginPOM;

public class NaukariUpdater {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver","./driver/chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.naukri.com/");
        driver.getTitle();
        String mainWindowTitle = driver.getTitle();
        String mainWindowID = driver.getWindowHandle();
        Set<String> s = driver.getWindowHandles();
        for (String handleID : s)
        {
            driver.switchTo().window(handleID);
            System.out.println(driver.getTitle());
            String windowID = driver.getTitle();
            if (!windowID.equals(mainWindowTitle))
            {
                driver.close();
            }
        }
        driver.switchTo().window(mainWindowID);
        driver.findElement(By.xpath("(//div[text()='Login'])[1]")).click();
        driver.findElement(By.xpath("//a[.='Google']")).click();
        Set<String> window = driver.getWindowHandles();
        System.out.println();
        for (String handleID : window) 
        {
            driver.switchTo().window(handleID);
            String windowTitle = driver.getTitle();
            System.out.println(windowTitle+"\t"+mainWindowTitle);
            if (!windowTitle.equals(mainWindowTitle))
            {
                System.out.println("in IF");
                driver.switchTo().window(handleID);
                break;
            }
        }
        System.out.println("out of switching "+driver.getTitle());
        WebDriverWait wait = new WebDriverWait(driver, 10);
        WebElement webElement =     driver.findElement(By.xpath("//input[@id='identifierId']"));
        wait.until(ExpectedConditions.visibilityOf(webElement));
        LoginPOM POM = new LoginPOM(driver);
        WebElement logIN = POM.getLogIn();
        logIN.sendKeys("Sorry type in your own email ID bro");
        WebElement nextBtn = POM.NextButton();
        nextBtn.click();
        wait.until(ExpectedConditions.visibilityOf(POM.getPassword()));
        WebElement pswd = POM.getPassword();
        pswd.sendKeys("Sorry type in your own password bro");
        nextBtn.click();
    }
}

这是 POM:

package naukariLoginPOM;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.FindBy;
import org.openqa.selenium.support.PageFactory;

public class LoginPOM {
    public LoginPOM(WebDriver driver) 
    {
        PageFactory.initElements(driver , this);
    }

    @FindBy(xpath = "//input[@id='identifierId']")
    private WebElement LogIn;
    public WebElement getLogIn()
    {
        return LogIn;
    }

    @FindBy(xpath = "//input[@type='password']")
    private WebElement Pswd;
    public WebElement getPassword()
    {
        return Pswd;
    }

    @FindBy(xpath = "//content[.='Next']")
    private WebElement NextBtn;
    public WebElement NextButton()
    {
        return NextBtn;
    }
} 

我不明白我在哪里犯了错误。一切似乎都运行良好,但最后我收到错误 1001。当我通过单击和键入手动执行该过程时,不会发生这种情况。我该如何解决?

最佳答案

错误 #1001 是 adobe flash player 的问题。您将需要重新部署(重新安装)您的 adobe flash player,因为它缺少关键库或这些库已损坏。这是 Adob​​e 记录的错误。您可以从此处的链接阅读有关此问题的更多信息:

https://forums.adobe.com/thread/258374?start=0&tstart=0

很遗憾,这不是与 Selenium 相关的问题。

解决方案是重新安装您的 adobe flash player。如果您对工作站的权限不够高,无法执行此操作,请咨询您的 IT 团队。

关于java - 为什么我每次尝试使用 selenium 测试脚本登录 Naukari.com 时都会收到 1001 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54227271/

相关文章:

java - 当 File-Url 中有空格时 Runtime.getRuntime().exec() 不起作用?

java - 获取单个单元格值的Sql语句

java - 在 Selenium 中使用 PhantomJS 时出错 : NoSuchMethodError org/openqa/selenium/browserlaunchers/Proxies

ios - 如何判断我在 Xcode UI 测试中使用的是哪个设备?

android - 如何使用 mockk 模拟 Build.VERSION.SDK_INT

JavaFX 2 场景切换

java - 如何为抽象方法创建切入点

javascript - Selenium - 运行 javascript

java - 如何使用 Java 检查 DOM 上的元素是否在 Selenium 中的前台?

Spring Boot 测试未使用测试属性