猿问

通过 selenium webdriver sendKeys() 输入的数据未注册

我正在自动化保险 Web 应用程序用户旅程。有两个字段基于隐藏(最初)列表中的匹配选择列表。当用户开始输入文本时,它会显示一个匹配列表,用户可以从中选择一个选项。我使用 sendKeys() 方法输入数据,它似乎接受了这一点,因为它与有效选项之一匹配。


http://img3.mukewang.com/61a73a8c0001068904540180.jpg

但是当我完成表单并单击下一步时,表单验证失败返回空字段。


http://img3.mukewang.com/61a73a970001cd7405920298.jpg

通过检查元素的文本框html


 <input type="text" class="form-control tt-input" value="" name="proposer_occupation_main_occupation_job_typeahead" data-    url="/quote/ajax/list/occupations" placeholder="enter job" data-field="occupation_job" data-field_name="proposer_occupation_main_occupation_job" data-    provides="ksp.field_type.typeahead" data-initialized="true" autocomplete="off" spellcheck="false" dir="ltr" style="position: relative; vertical-align:     top; background-color: transparent;">

谁能知道如何处理这种类型的元素。我可以使用哪些替代方法来代替使用 sendKeys() 简单地传递值。


使用以下 xpath 来识别元素,它正在工作并按预期输入 tesxt。


@FindBy(xpath = "//div[@id='proposer_occupation_main_occupation_job']//input[contains(@placeholder,'enter job')]")

 WebElement InputJobTitle;

唯一的问题是当单击提交时,它在该字段上返回错误。


提前致谢。


料青山看我应如是
浏览 206回答 1
1回答

ITMISS

您可能需要使用下拉列表的相应选择器单击该值。步骤如下,将键发送到输入等待下拉菜单出现单击相应的下拉列表。
随时随地看视频慕课网APP

相关分类

Java
我要回答