无法在模态对话窗口中找到文本框?

时间:2016-05-31 13:24:18

标签: selenium-webdriver

我遇到clickAdd Address button上的用户Address Detail Modal dialog window出现的情况,

它有4个元素,两个文本框用于地址详细信息,两个按钮添加和取消。

我可以直接点击模型对话框窗口中的取消和添加按钮,但无法在其中找到文本框。

以下是“模态对话框窗口”中文本框的代码。

input id="Address" class="form-control" type="text" value="" name="Address" data-toggle
="tooltip" data-placement="bottom" data-bind="value:Address, ValidationMessage: Address" 
data-original-title="" title=""

如何访问模式框元素作为模型对话框窗口是same window的一部分 那么AlertWindow switching methods在这种情况下可能没用吗? 请问任何建议?

更新我正在尝试的示例代码。

// Click on Address link It open Model window
driver.findElement(By.xpath(".//div[@id='member_78121']div/table/tfoot/tr/td/div/button")).click();
here i am giving wait condition.
//Inside modal window
//TextBox first
driver.findElement(By.id("AddressLine1")).sendKeys("plot no-23");
//textbox second
driver.findElement(By.id("AddressLine2")).sendKeys("plot no-23");
 //Add button 
driver.findElement(By.id("Add")).click();
// driver.findElement(By.id("Cancel")).click();
here i am able to click on Add or Cancel button if you comments text boxes code but 
i am getting error for textboxes "element is not visible"

这是添加按钮代码以供参考

button id="Add" class="btn btn-default" value="Add" type="button" title="" name="Add" 
data-toggle="tooltip" data-placement="bottom" data-bind="click:$parent.SaveAndCloseAddressPopup,   Tooltip:$parent.SaveAndCloseAddressPopup"   
data-original-title="Save changes and close"

2 个答案:

答案 0 :(得分:0)

//点击地址链接打开模型窗口

driver.findElement(By.xpath( “.// DIV [@ ID = 'member_78121'] DIV /表/ TFOOT / TR / TD / DIV /键”))点击();

我在这里等待条件。

//内部模态窗口

//TextBox first
driver.findElement(By.id("AddressLine1")).sendKeys("plot no-23");
//textbox second
driver.findElement(By.id("AddressLine2")).sendKeys("plot no-23");
 //Add button 
driver.findElement(By.id("Add")).click();

// driver.findElement(By.id(“Cancel”))。click();

如果您评论文本框代码,我可以单击“添加”或“取消”按钮 但我收到错误的文本框“元素不可见”

这是添加按钮代码以供参考

button id =“Add”class =“btn btn-default”value =“添加”type =“button”title =“”name =“添加”data-toggle =“tooltip”data-placement =“bottom” data-bind =“click:$ parent.SaveAndCloseAddressPopup,Tooltip:$ parent.SaveAndCloseAddressPopup”data-original-title =“保存更改并关闭”

答案 1 :(得分:0)

driver.findElement(By.id("AddressLine1")).sendKeys("plot no-23"); 
this try this 
driver.findElement(By.id("Address")).sendKeys("plot no-23");

,因为输入框的示例代码段是

input id="Address" class="form-control" type="text" value="" name="Address" data-toggle
="tooltip" data-placement="bottom" data-bind="value:Address, ValidationMessage: Address" 
data-original-title="" title=""

在这里你可以清楚地看到输入标签的id是Address not AddressLine1