无法单击硒中的提交按钮

时间:2018-10-16 11:31:57

标签: selenium xpath testng

我正在旅行应用程序中工作。一旦填写了诸如出发地,目的地之类的详细信息,我就必须单击“提交”按钮。我尝试使用xpath单击提交按钮。但是,我无法提交。应用程序在内部加载,一旦单击提交的xpath。请参考屏幕截图。

硒代码:java driver.findElement(By.xpath(“ .//[@ id ='ctl00_cphMain_TravelRequest1_btnSubmit']”))。click();

请检查图像 Submitbutton- xpath code

3 个答案:

答案 0 :(得分:0)

能否请您提供此问题的html代码, 该代码中必须存在元素, 您应该必须使用Submit()而不是单击Submit元素。

实际上,click()仅对(必须检查此条件)的Submit按钮起作用,submit()对所有表单元素起作用,并且执行Enter键之类的操作。 我希望这对您有用,

driver.findElement(By.xpath(".//[@id='ctl00_cphMain_TravelRequest1_btnSubmit']")).submit();

或尝试使用它,

driver.findElement(By.xpath(".//[@id='ctl00_cphMain_TravelRequest1_tpTravel_travel_gvTravel_ctl02_txtDuration']")).submit();

根据您的html代码,我们通过id获取元素,

driver.findElement(By.Id("ctl00_cphMain_TravelRequest1_btnSubmit")).submit();

答案 1 :(得分:0)

在您的情况下,可能是“提交”按钮是可见的,但无法按说明中所述单击。为此,您将必须等待,直到使用ExplicitWait方法无法单击该元素为止。在“提交”按钮变为可点击状态后执行点击操作:

希望以下代码可以解决您的问题。

WebDriverWait wait = new WebDriverWait(driver, 20);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath(".//[@id='ctl00_cphMain_TravelRequest1_btnSubmit']"))).click();

答案 2 :(得分:0)

有时click()方法不起作用。请尝试使用以下代码一次,让我知道。

WebElement Login=driver.findElement(By.id("ctl00_cphMain_TravelRequest1_btnSubmit"));
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", Login);