Java 如何使用Selenium Web驱动程序获取按钮元素
我正在用java编写一个selenium代码,该代码将插入用户名和密码,并将使用chrome登录到一个站点: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
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);