当前位置: 首页 > 知识库问答 >
问题:

打开Gmail时,出现以下错误-预期[对象未定义]未定义为字符串

边翔宇
2023-03-14
Expected [object Undefined] undefined to be a string, 
The code I am using is following:                 
System.setProperty("webdriver.gecko.driver","E:\\Software\\geckodriver-
v0.16.1-win64\\geckodriver.exe");
WebDriver wd= new FirefoxDriver();
wd.get("https://www.google.co.in/");
//wd.findElement(By.xpath(".//*
[@id='gbw']/div/div/div[1]/div[1]/a")).click();
wd.findElement(By.linkText("Gmail")).click();
WebElement e1= wd.findElement(By.xpath("//input[@id='identifierId']"));
e1.sendKeys("abc@gmail.com");
wd.findElement(By.xpath("//div[@id='identifierNext']/content/span[text()='Ne
xt']")).click();

错误日志

线程“main”中的错误日志异常 java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkState(ZLjava/lang/String;Ljava/lang/Object;)V at org.openqa.selenium.remote.service .DriverService.checkExecutable(DriverService.java:136) 在 org.openqa.selenium.firefox.GeckoDriverService.access$000(GeckoDriverService.java:41) 在 org.openqa.selenium.firefox.GeckoDriverService$Builder.usingFirefoxDriverService. 108) 在 org.openqa.selenium.firefox.FirefoxDriver.toExecutor(FirefoxDriver.java:204) 在 org.openqa.selenium.firefox.FirefoxDriver.(FirefoxDriver.java:108) 在 org.openqa.selenium.firefox.FirefoxDriver。 (FirefoxDriver.java:104) 在 register_prctc.gmail.main(gmail.java:15)

共有2个答案

黄逸清
2023-03-14

删除Selenium-java-2.53.1。jar文件并更新所有jar

濮景龙
2023-03-14

以下是您问题的解决方案:

>

xpath//您使用的[@id='gbw']/div/div/div[1]/div[1]/a不标识任何唯一元素。要查找元素Gmail链接,您可以使用linkText定位器:

wd.findElement(By.linkText("Gmail")).click();

要将文本发送到电子邮件或电话字段,请提供一个唯一的xpath,如下所示:

WebElement e1= wd.findElement(By.xpath("//input[@id='identifierId']"));

单击Next按钮的xpath对我来说很脆弱,您可以将其更改为:wd。findElement(By.xpath(“//div[@id='identifierNext']]/content/span[text()='Next']”)。单击()

下面是你自己的代码的工作集,有一些简单的调整:

System.setProperty("webdriver.gecko.driver","C:\\geckodriver.exe");
WebDriver wd= new FirefoxDriver();
wd.get("https://www.google.co.in/");
wd.findElement(By.linkText("Gmail")).click();
WebElement e1= wd.findElement(By.xpath("//input[@id='identifierId']"));
e1.sendKeys("id@gmail.com");
wd.findElement(By.xpath("//div[@id='identifierNext']/content/span[text()='Next']")).click();

让我知道,如果这回答了你的问题。

 类似资料:
  • 问题内容: 我不明白为什么会收到错误预期[object Undefined] undefined为字符串 这是脚本Java LoginToGmail.java 全栈错误是: 问题答案: 要使用Selenium 3.x,Mozila Firefox 52.x,您需要从此处下载最新的gecko驱动程序,并提供gecko驱动程序的绝对路径,如下所示:

  • 问题内容: 我不明白为什么会收到错误预期[object Undefined] undefined为字符串 这是脚本Java LoginToGmail.java 全栈错误是: 问题答案: 要使用Selenium 3.x,Mozila Firefox 52.x,您需要从此处下载最新的gecko驱动程序,并提供gecko驱动程序的绝对路径,如下所示:

  • 我正在尝试JNI示例代码。 (您可以通过github获得以下所有源代码:https://github.com/pilhoon/jni-test) sample.java sample.c 采样.h 我在CentOS6.3上用gcc编译了这些 但是当我运行'java sample'时,出现了一个错误。 我该怎么解决这个?

  • 我有一个包含各种列的表“用户”。其中一列是用户名。我决定通过迁移删除该列。这样做之后,我试图通过注册表单(创建操作)创建一个新用户,但收到用户名的未定义方法错误,我不确定为什么。@user.save 上引发错误。 下面是相关的代码,首先是用户控制器的动作,然后是实际提交的表单。 有什么想法吗?堆栈跟踪,根据要求:

  • 问题内容: 我正在使用dlopen在运行时加载共享库 在该共享库中,我引用了另一个共享库“ SharedLibarary2.so”中定义的const char *。 可执行文件和两个库都是使用-rdynamic构建的。 但是使用dlopen时,我仍然收到运行时错误:“ / usr / lib / SharedLibarary1.so:未定义符号”,并指向损坏的const char *具有未定义符号

  • 我没有正确安装吗?我忽略了什么?