我正在尝试运行以下硒代码:
WebDriver driver;
System.setProperty("webdriver.chrome.driver", "C:\\Driver\\chromedriver.exe");
driver = new ChromeDriver();
driver.get("http://www.behsad.com/nportal/Default.aspx?tabid=55");
driver.findElement(By.id("dnn_dnnUser_enhancedRegisterLink")).click();
WebDriverWait wait=new WebDriverWait(driver, 30);
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(
By.id("dnn_dnnUser_enhancedRegisterLink")));
element.click();
这是我的pom.xml:
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-picocontainer</artifactId>
<version>1.2.5</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.4.0</version>
</dependency>
最后是代码的导入:
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;
代码陷入困境:
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(
By.id("dnn_dnnUser_enhancedRegisterLink")));
它抱怨:
java.lang.NoSuchMethodError: org.openqa.selenium.support.ui.WebDriverWait.until(Lcom/google/common/base/Function;)Ljava/lang/Object;
参考方案
我认为您的问题出在这行代码中
WebElement element=wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("dnn_dnnUser_enhancedRegisterLink")));
由于使用Wait.until来告诉您的Web驱动程序要等到发生某项操作(即可见性),该操作由ID =“ dnn_dnnUser_enhancedRegisterLink”定位,在您的情况下
但是此方法不会返回Web元素对象,因此您无法使用它来定义Web元素
相反,您只需要编写:
wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("dnn_dnnUser_enhancedRegisterLink")));
Selenium Webdriver(Java)-查找禁用了属性=“”的元素 - java我有<input id="test" disabled="">。如何找到具有属性disable =“”的元素。附言:在这种情况下,我不需要使用ID。我想找到一个具有禁用属性的元素。我尝试使用String enbl = Login.driver.findElement(By.cssSelector("…
将ExtentTest的默认设置为FAILED - java我正在使用extentreports为使用Java和Selenium编写的测试添加报告。我注意到,如果ExtentTest有两个日志“ INFO”和“ PASSED”,则如果未捕获通过日志,则将其视为“通过”。我如何以某种方式更改它,如果未通过测试,它将被自动标记为“失败”? 参考方案 默认情况下,无法更改行为以使测试用例失败。它是一个设计决策,每个测试框架…
如何在Selenium WebDriver中关闭语言选项框 - java我想通过Selenium Webdriver跳过语言选择。这可以通过按键盘上的Escape键或单击“保存”按钮来实现。我没有做任何一个。任何人都可以在这方面提供帮助吗?//driver.switchTo().alert(); //button[@id='save_language'] java参考方案 更像是一个警报。尝试使用以下代码:A…
java.lang.VerifyError:在分支目标73处期望一个堆栈映射框架 - java我使用jdk 1.7,jekins,maven,当我构建项目时,单元测试失败,错误是: java.lang.VerifyError:在分支目标73处期望一个堆栈映射框架 异常详细信息:位置: com / DataDictDao.save(Lcom / DataDict;)Ljava / lang / Long; @ 25:lcd原因: 在此位置的预期堆栈图框…
通过openoffice API控制印象展示窗口 - java我目前正在尝试使用openoffice API来显示Java的PowerPoint演示文稿-我有一个公平的方法,我设法打开了演示文稿并进行显示。但是,有一些我想做的事情,我无法理解API的现状:我不希望主要的Impress窗口出现,而只是演示窗口。现在,我可以启动它,以最小化属性的问题,但是随后实际显示窗口也被最小化,这是我所不希望的。我也可以抓住窗口并在其…