【发布时间】:2020-03-11 17:09:36
【问题描述】:
我有以下问题:
我在表单中有一个按钮(网页有一个登录名和密码文本框和一个按钮),这个按钮调用一个js函数,在登录名和密码验证后,调用主网页。 html 代码是这样的(此代码在表单调用“登录”和方法 = POST 内):
<INPUT class="btn btn-mini btn-primary" onclick=submitForm(); type=button value="Sign On">
在 Selenium 中,我尝试使用以下语句,但没有成功:
driver.findElement(By.xpath("//input[@type='button']")).click();
driver.findElement(By.cssSelector("input[type='button'][@value='Sign On']")).click();
driver.findElement(By.xpath("//input[@value='Sign On']")).click();
当我运行脚本时,登录名和密码文本已正确填写,但单击按钮不起作用。
你能帮我解决这个问题吗?
谢谢!
来自智利的贡萨洛
【问题讨论】:
-
您能否提供您尝试脚本的网址?
-
driver.findElement(By.cssSelector("input[type='button'][@value='Sign On']")).click();肯定这不起作用,因为您在 css 中有@value而不是value。请分享元素的 html,并确保 iframe 中不存在该元素。 -
在输入用户名和密码之前是否隐藏了登录按钮?如果是这样,IE 浏览器有时无法识别以前隐藏的元素。解决此问题的一种方法是使 Waitforelement 可见并使用 Actions 类单击该元素。
-
在按钮之前,我得到了这个: 。不得不说,这是私有代码,所以我不能把整个代码放在这里。
-
这是表单的代码:
标签: java selenium button xpath click