2017-09-26 114 views
-2

我写在Java中的硒代码,将插入一个用户名和密码,并使用Chrome登录到网站获得按钮元素:如何使用Selenium网络驱动程序

WebElement query = driver.findElement(By.id("usernameInput")); 
    query.sendKeys("****"); 
    WebElement query2 = driver.findElement(By.id("passwordInput")); 
    query2.sendKeys("****"); 
    Thread.sleep(1500); 

    WebElement query3 = driver.findElement(By.className(btn z-btn-default pull-right)); 
    query3.click(); 

我不能让登录按钮点击。 我用按钮的检查元素来搜索id或别的东西,但没有成功。 我从检查元素

enter image description here

+0

为什么不使用xpath或css选择器? – JJAACCEeEKK

回答

0

使用这种希望加入的截图它会帮助你

WebElement query = driver.findElement(By.id("usernameInput")); 
query.sendKeys("****"); 
WebElement query2 = driver.findElement(By.id("passwordInput")); 
query2.sendKeys("****"); 
Thread.sleep(1500); 
WebElement query3 = driver.findElement(By.xpath(".//*[@class='btn z-btn-default pull-right']")); 
query3.click(); 
0

硒类名在同一时间只需要一个类名。尝试使用下面给出的CSS选择器或xpath。

WebElement query3 = driver.findElement(By.cssSelector(".btn.z-btn-default.pull-right")); 

WebElement query3 = driver.findElement(By.xpath("//*[@class='btn z-btn-default pull-right']")); 
0

使用其他值的XPath

//input[@type='Submit'][@value='LOGIN'] 

代码:

WebElement query3 = driver.findElement(By.xpath("//input[@type='Submit'][@value='LOGIN']")); 
query3.click(); 
0

你无法点击按钮,因为它似乎禁用,看看你提供的HTML 。

<input type="submit" disabled="disabled" ...> 

我认为你需要找出在什么样的情况下,提交按钮会变成启用,并编写相应的硒测试。

此外,如果你不能够通过它的属性唯一标识此提交按钮,硒提供了一个submit()方法来提交表单,象下面这样:

webelement.submit(); 

参见上this页的文档。

HTH ...

0

试试下面的代码任何这些。

从您的html,您的LOGIN按钮位于<input>标签内。所以你的xpath应该从<input>标签开始。

driver.findElement(By.xpath("//input[@value='LOGIN'][@type='submit']")).click(); 

说明的XPath: -valuetype属性一起<input>标签开始的XPath。

注: - 除了使用absolute xpath使用Relative xpath

OR

您可以点击使用JavaScript Executor方法LOGIN按钮。

WebElement login_button = driver.findElement(By.xpath("//input[@value='LOGIN'][@type='submit']")); 
((JavascriptExecutor) driver).executeScript("arguments[0].click();", login_button); 
+0

你有没有试过这段代码?它对你有用吗? –

+0

请将此答案标记为“已接受”,如果已解决您的问题:) –

相关问题