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

Data entered via selenium webdriver sendKeys() not registering

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

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

文本框 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;

唯一的问题是点击提交时,返回时字段上出现错误。

提前致谢。

您可能需要使用相应的选择器从下拉列表中单击值。 步骤如下,

  • 将键发送到输入
  • 等待下拉菜单出现
  • 单击相应的下拉菜单。