java - 无法使用带有 Java 和 chrome 的 WebDriver Selenium 3 将 key 发送到 eBay 用户名字段

标签 java selenium css-selectors webdriver

我无法将Keys 文本发送到 eBay 上的用户名和密码字段中。

这是代码:

    WebDriver driver = null;
    System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");
    driver = new ChromeDriver();
    driver.get("http://www.ebay.co.uk");

    WebElement myEbay = driver.findElement(By.linkText("My eBay"));
    myEbay.click();

    WebElement signInForm = driver.findElement(By.id("SignInForm"));

    if (signInForm.isDisplayed())
        System.out.println("Sign in form is displayed");

    WebElement username;

    username = driver.findElement(By.cssSelector("input[placeholder=\"Email or username\"]"));

它设法找到 My Ebay 链接,并验证登录表单是否存在,但用户名和密码字段 ID 在每次刷新页面后都会更改。

用户名 cssSelector 似乎是问题所在?

编辑:我已经成功地使用了 XPath,但这次练习是为了让 cssSelector 工作,因为理论上没有理由不这样做!

最佳答案

我已经用 xpath 替换了 cssSelector 定位器,并且它在绝对 xpath 下工作正常。下面是修改后的代码:

 WebDriver driver = null;
        System.setProperty("webdriver.chrome.driver", "C:\\Users\\vikas\\workspaceNeon\\Eclipse Soft\\chromedriver.exe");
        driver = new ChromeDriver();
        driver.get("http://www.ebay.co.uk");

        WebElement myEbay = driver.findElement(By.linkText("My eBay"));
        myEbay.click();

        WebElement signInForm = driver.findElement(By.id("SignInForm"));

        if (signInForm.isDisplayed())
            System.out.println("Sign in form is displayed");

       driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);

       WebElement username = driver.findElement(By.xpath("html/body/div[4]/div/div/div/div[5]/div/div[1]/div/div[1]/div[1]/div[2]/div/span/form/div[1]/div[5]/div/div[4]/span[2]/input"));

       username.sendKeys("Vikas");

关于java - 无法使用带有 Java 和 chrome 的 WebDriver Selenium 3 将 key 发送到 eBay 用户名字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44865933/

相关文章:

java - 抽象类 - 扩展类和 DAO

java - Eclipse调试时出现"Invisible"断点?

java - 使用 http 请求自动化与 selenium webdriver 之间有什么区别?

java - Selenium WebDriver Java 使用动态 ID 定位元素

css - 分组 css 选择器

java - 安卓蓝牙;是否可以?

java - HttpUrlConnection 出现间歇性 "Socket closed"异常

python - 操作系统错误: [WinError 1450] Insufficient system resources exist to complete the requested service using Selenium in Python through Anaconda

css - 是否有包含输入的输入字段的 CSS 选择器?

css - :last-child style working, :first-child style not working! 为什么?