Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
。单击语法问题、Selenium、JAVA、Eclipse、Junit、边缘浏览器_Java_Eclipse_Selenium_Syntax - Fatal编程技术网

。单击语法问题、Selenium、JAVA、Eclipse、Junit、边缘浏览器

。单击语法问题、Selenium、JAVA、Eclipse、Junit、边缘浏览器,java,eclipse,selenium,syntax,Java,Eclipse,Selenium,Syntax,我正在学习使用以下组合,Selenium、JAVA、Eclipse、Junit和Windows10Edge浏览器实现自动化。 所有的应用程序都是在上周(17年5月16日)下载并安装的,所以在撰写本文时,版本号应该是最新的 我从简单开始。 我希望能够自动执行以下操作 01)启动边缘浏览器 02)打开URL(www.stackoverflow.com) 03)点击“登录”按钮(我认为它实际上是文本,css上有超链接?) 预期结果是,stackoverflow登录网页被导航到/显示 我已成功启动具有所

我正在学习使用以下组合,Selenium、JAVA、Eclipse、Junit和Windows10Edge浏览器实现自动化。 所有的应用程序都是在上周(17年5月16日)下载并安装的,所以在撰写本文时,版本号应该是最新的

我从简单开始。 我希望能够自动执行以下操作

01)启动边缘浏览器

02)打开URL(www.stackoverflow.com)

03)点击“登录”按钮(我认为它实际上是文本,css上有超链接?)

预期结果是,stackoverflow登录网页被导航到/显示

我已成功启动具有所需URL的浏览器。 我知道代码正在通过将找到的元素详细信息打印到eclipse控制台窗口来查找与“登录”按钮关联的各种元素。 当我尝试将.click()语法应用于元素/属性时,什么也没有发生

有人能告诉我是否正确/不正确地应用了.click()语法吗? 我将其应用于错误的元素/属性

我的Java代码如下:,
如果没有任何隐式等待,下面的代码适用于Firefox,也应该适用于EdgeDriver,我看不出任何问题

@Test
public void login(){
    WebDriver driver = new FirefoxDriver();
    driver.get("https://stackoverflow.com/");
    driver.findElement(By.cssSelector(".login-link.btn-clear")).click();
}

您在4个elemetns元素标识符中使用的xpath结果应该是您要单击的唯一标识元素。请尝试此
。登录链接。btn clear
谢谢您的回复。你能进一步限定代码吗。也就是说,你能在上下文中连接代码行吗。ie,//driver.findelelement(By.xpath(//a[@class='login-link btn clear'])。单击()<代码>驱动程序.findelelement(By.cssSelector(“.login link.btn clear”)谢谢。如果我们同意这是正确的元素“.login link.btn clear”,那么当我执行以下代码时,.click函数为什么不做任何事情?driver.findelelement(By.cssSelector(“.login link.btn clear”))。单击();它与其他浏览器一起工作吗?如果是,这是特定于Edge的,Edge有时会给出这样的问题。在这种情况下,单击UsingJavaScript或选择另一个标识符、父元素或子元素,它应该可以工作。好的,谢谢您的时间和评论。我已经针对我的设置尝试了你的代码,但它仍然不适用于我,因此我只能假设我有一个设置问题。我会调查的。谢谢你的时间。我只是想跟进一下。我已经针对旧版本的firefox执行了您的代码和我的代码,这意味着我可以消除gecko驱动程序。代码运行正常。卸载所有软件并将其重新安装回最新版本后,JAVA代码现在运行正常。感谢您的帮助。Gaurang还发现以下包含的javascript代码用于执行click函数,这是一种解决安装中出现.click()问题的方法。{@Test public void login(){WebDriver driver=new EdgeDriver();//++JAVASCRIPT driver++JavascriptExecutor jse=(JavascriptExecutor)driver;driver.get(“);//++build元素操作++WebElement元素=driver.findElement(By.cssSelector(“.login link.btn clear”));//+++执行JAVASCRIPT以执行单击函数++jse.executeScript(“参数[0]。单击();”,元素);}
@Test
public void login(){
    WebDriver driver = new FirefoxDriver();
    driver.get("https://stackoverflow.com/");
    driver.findElement(By.cssSelector(".login-link.btn-clear")).click();
}