Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.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
Java 如何使用Selenium Web驱动程序获取按钮元素_Java_Selenium_Selenium Webdriver - Fatal编程技术网

Java 如何使用Selenium Web驱动程序获取按钮元素

Java 如何使用Selenium Web驱动程序获取按钮元素,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我正在用java编写一个selenium代码,该代码将插入用户名和密码,并将使用chrome登录到一个站点: WebElement query = driver.findElement(By.id("usernameInput")); query.sendKeys("****"); WebElement query2 = driver.findElement(By.id("passwordInput")); query2.sendKeys("****"); Thr

我正在用java编写一个selenium代码,该代码将插入用户名和密码,并将使用chrome登录到一个站点:

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();
我无法点击登录按钮。 我使用按钮的inspect元素搜索id或其他要使用的内容,但没有成功。 我正在添加来自inspect元素的屏幕截图


用这个,希望它能帮助你

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();

selenium类名一次只取一个类名。尝试使用css选择器或xpath,如下所示

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


使用xpath中的其他值

//input[@type='Submit'][@value='LOGIN']
代码:


您无法单击该按钮,因为它似乎已被禁用,请查看您提供的html

<input type="submit" disabled="disabled" ...>
请参阅第页的文档


HTH…

尝试下面的任何代码

从您的
html
,您的
LOGIN
按钮位于
标记内。因此,您的
xpath
应该从
标记开始

driver.findElement(By.xpath("//input[@value='LOGIN'][@type='submit']")).click();
xpath解释:-使用
标记以及
类型
属性启动xpath

注意:-不要使用
绝对xpath
而是使用
相对xpath

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

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

为什么不使用xpath或css选择器?如果您的问题得到解决,请将此答案标记为已接受:)
webelement.submit();
driver.findElement(By.xpath("//input[@value='LOGIN'][@type='submit']")).click();
WebElement login_button = driver.findElement(By.xpath("//input[@value='LOGIN'][@type='submit']"));
((JavascriptExecutor) driver).executeScript("arguments[0].click();", login_button);