java - Submit() 重定向到另一个页面,而 click() 不允许我访问内页

标签 java selenium selenium-webdriver

谁能解释一下submit()和click()之间的确切区别

就像我的场景是我想访问这个site 。当我使用 click() 方法单击登录按钮时。站点不允许我访问内部页面,当使用 submit() 方法时,站点被重定向到另一个页面。

所以,我没有得到这两种方法之间的正确区别。请参阅下面的代码片段了解更多详细信息。

driver.get("https://www.ymlp.com/login.html");
driver.manage().window().maximize();    
driver.findElement(By.id("T1")).sendKeys("test@gmail.com");
driver.findElement(By.id("T2")).sendKeys("test@1234");
driver.findElement(By.id("loginbtn")).submit();   

当您执行上述代码时,站点重定向到另一个页面,现在只需将最后一行代码更改为下面提到的代码,站点就不允许我访问内部页面。

driver.findElement(By.id("loginbtn")).click();

有人可以帮我解决这个问题吗?我想知道为什么 click() 在这里不能正常工作。

最诚挚的问候。

最佳答案

即使您手动单击该按钮,也不起作用。这可能是一个应用程序问题。就 Submit() 而言,它可用于表单标签内的按钮。基本上您正在尝试提交表单。

如果您仔细查看 HTML,当您单击该按钮时,类值将更改为“btn btn-secondary preload isLocked”,并且如果您转到“网络”选项卡,则类值会更改为“btn btn-secondary preload isLocked”在控制台窗口中分析login.js,它们有一个函数

$(document).ready(function(){$("#T1").focus();$(".removeerrorontype").keypress(function(){$(this).removeClass("error");});$("#loginbtn").click(function(e){if($(this).hasClass("isLocked")){return false;}

所以,我觉得上述条件返回 false,因此它不会进一步移动。 “isLocked”在这里产生了一些影响。

关于java - Submit() 重定向到另一个页面,而 click() 不允许我访问内页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42016834/

相关文章:

java - 尝试编译基本 JNI 测试代码时 VS2010 出错

java - 自动调用 iterator() 方法

java - 线程 "main"org.openqa.selenium.NoSuchElementException : Unable to locate element://*[@id ='login-email' ] 中的异常

node.js - 即使在 Nightwatchjs 中测试失败,Browserstack 也会报告成功

java - 获取字符串路径的公共(public)根和该路径的文件夹列表

java - com.jcraft.jsch.JSchException : Algorithm negotiation fail at com. jcraft.jsch.Session.receive_kexinit(未知来源)

Selenium 无法在 Firefox 23.0.1(Mac 和 Windows)中工作

python - 在 Selenium 中处理弹出窗口

使用 Firefox geckodriver 的绝对路径时,Python Selenium 测试不会运行

Selenium - 元素不再附加到 DOM - Python