java - 尝试通过 Selenium 和 Java 使用 sendKeys 时获取验证消息
问题描述
我编写了一个简单的代码来在 facebook 登录页面中输入电子邮件。但是在通过 sendKeys 输入电子邮件值时,我得到了类似“方法 sendKeys(String) 未定义类型 By”的验证。我已经检查了 1.8 的合规性版本。那么这里出了什么问题???下面是代码片段:
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 作为快速修复。有人可以解释一下这个的用法还是有其他可用的解决方案
解决方案
正如@KoustubhMadkaikar 和@AndiCover 所提到的,虽然添加必要的右括号 ie)
将解决当前问题,但根据最佳实践,您应该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");
推荐阅读
- kubernetes - cronjob Kubernetes 使用应用程序和云代理容器的预期行为
- python - 如何将自动生成的注册 ID 更改/分配给 microsoft azure 认知说话者识别 API 中的特定人员姓名
- java - 线程“main”java.lang.Error 中的异常:未解决的编译问题(Edx 课程示例)
- java - 当'e'对于非常大的e是十进制时,如何对e求幂?
- amazon-web-services - AWS SAM YAML - 多次附加相同的策略,或在相同的 DynamoDB 策略上附加多个表
- ios - 从xcode中的注释映射访问结构参数
- java - SpringBoot程序中如何为mysql动态设置sql_mode?
- mysql - 使用 phpmyadmin 运行时插入查询语法错误
- r - 使用 rstanarm 包中的 stan_aov 缺少预测变量计算贝叶斯方差分析
- android - 如何在Android中显示较小的第二个布局保持可见的主要布局?