【问题标题】:Getting validation message while trying to use sendKeys through Selenium and Java尝试通过 Selenium 和 Java 使用 sendKeys 时获取验证消息
【发布时间】:2019-02-24 09:08:00
【问题描述】:

我编写了一个简单的代码来在 facebook 登录页面中输入电子邮件。但是在通过 sendKeys 输入电子邮件值时,我得到了类似“方法 sendKeys(String) 未定义类型 By”的验证。我已经检查了 1.8 的合规性版本。那么这里出了什么问题???下面是代码sn-p:

package SeleniumTests;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class OpenFacebook {
    public static void main(String[] args) {
        System.setProperty("webdriver.gecko.driver","geckodriver path");
        WebDriver driver=new FirefoxDriver();
        driver.get("http:\\facebook.com");
        driver.manage().window().maximize();
        driver.findElement(By.xpath("//[@id='email']").sendKeys("swarup.wipro@gmail.com");

    }

}

作为快速修复,我获得了 Add cast to By.xpath 选项。有人可以解释一下这个的用法还是有其他可用的解决方案

【问题讨论】:

    标签: java selenium xpath css-selectors webdriver


    【解决方案1】:

    正如@KoustubhMadkaikar 和@AndiCover 提到的,虽然添加必要的右括号,即) 将解决当前问题,但根据最佳实践,您应该为您的@987654321 提供tagName @ 要健壮,您可以使用以下任一解决方案:

    • xpath:

      driver.findElement(By.xpath("//input[@id='email']")).sendKeys("swarup.wipro@gmail.com");
      
    • cssSelector:

      driver.findElement(By.cssSelector("input#email")).sendKeys("swarup.wipro@gmail.com");
      

    【讨论】:

    • 赞成添加 CSS 选择器,这是一种更快的定位元素的方法。
    • 感谢 DebanjanB 的建议。
    • @Swarup 什么?建议......我认为这是一个规范的答案。
    • @DebanjanB 建议我的意思是“你的定位器 startegy 的标签名”部分。无论如何,非常感谢您的回答。
    【解决方案2】:

    .sendKeys 之前的代码中缺少右括号 请尝试以下操作:

    driver.findElement(By.xpath("//[@id='email']")).sendKeys("swarup.wipro@gmail.com");
    

    【讨论】:

    • 谢谢,它解决了我的问题。我希望我下次能摆脱这些愚蠢的错误。
    【解决方案3】:

    你错过了右圆括号),使用:

    driver.findElement(By.xpath("//[@id='email']")).sendKeys("swarup.wipro@gmail.com");
    

    【讨论】:

    • 你错过了右圆括号 [ ) ]
    猜你喜欢
    • 1970-01-01
    • 2019-08-13
    • 1970-01-01
    • 2013-04-02
    • 2019-08-26
    • 1970-01-01
    • 2018-12-26
    • 2012-08-31
    • 1970-01-01
    相关资源
    最近更新 更多