代码之家  ›  专栏  ›  技术社区  ›  Aaron Rice

FireFox无法将密钥发送到日期选择器

  •  0
  • Aaron Rice  · 技术社区  · 7 年前

    在Firefox中运行自动化测试时,我遇到了一个问题。我使用的是selenium webdriver c#。这段代码在Chrome上运行得很好,但在Firefox中运行时 sendkeys 功能就是不起作用。以下是要素详细信息:

    Firefox版本58中的测试:

    <input
       id="uiAssessmentsDueDate"
       class="form-control ng-pristine ng-valid ng-empty ng-touched"
       ng-model="workshop.assessmentsDueDate"
       ng-readonly="isReadonly"
       tabindex="6"
       type="date">
    

    下面是我使用的代码:

    Driver.FindElement(By.Id("uiAssessmentsDueDate")).SendKeys("01012018");
    

    我尝试过在框中单击,然后我尝试过先在框中单击,然后发送键。我已经尝试了我能想到的一切。如果有人有更好的方法来做到这一点,或者能回答为什么这在Firefox中不起作用,我们将不胜感激。如果你需要更多信息,请告诉我

    1 回复  |  直到 7 年前
        1
  •  0
  •   M3rr1    7 年前

    我注意到的第一件事是 ng-readonly="isReadonly" 属性只读输入不允许用户与它们交互,但不确定它在实际站点中的工作方式,因为我从未使用Angular。

    尝试使用Selenium尽可能多地模拟用户交互。如果单击输入提示日历,请使用该日历,而不是发送按键。

    您可能需要检查的是,当您与属性和字段交互时,属性和字段是如何变化的(使用Firefox的控制台进行操作,因为它发生在哪里),以查看您写入的输入是否确实是一个输入,或者单击时焦点是否发送到另一个输入;等