我想将值设置为某些输入标记,但在输入标记的类型编号时始终失败。
输入表单如下:
<div class="f-col grow-2">
<div class="field">
<label class="label-small">Alert ID</label>
<input type="number" min="0" class="input-text " autocapitalize="off" autocomplete="off" name="alert_id" value="">
<span class="msg-helper"></span>
</div>
</div>
<div class="f-col grow-4">
<div class="field">
<label class="label-small">Title</label>
<input type="text" class="input-text " autocapitalize="off" autocomplete="off" name="alert_title" value="">
<span class="msg-helper"></span>
</div>
</div>
以下是我用来输入数字的代码
*** Settings ***
Library SeleniumLibrary
*** Variables ***
${FILTER_ID_LOC} = name=alert_id
${FILTER_TITLE_LOC} = name=alert_title
*** Keywords ***
user inputs on filter
[Arguments] ${title} ${alert_id}
Fill title ${title}
Fill id ${alert_id}
Fill title
[Arguments] ${value}
run keyword and continue on failure input text ${FILTER_TITLE_LOC} ${value}
Fill id
[Arguments] ${value}
run keyword and continue on failure input text ${FILTER_ID_LOC} ${value}
*** Test Cases ***
Scenario: User inputs values on filter
[Template] user inputs on filter
# title # alr_id
some_title 100
我使用了chrome webdriver,但它没有用。 Robot Framework显示错误消息:
InvalidElementStateException: Message: invalid element state: Element is not currently interactable and may not be manipulated
(Session info: chrome=64.0.3282.167)
(Driver info: chromedriver=2.31.488774
(7e15618d1bf16df8bf0ecf2914ed1964a387ba0b),platform=Mac OS X 10.11.6 x86_64)
它还需要更多东西吗?
我只在documentation中找到input text
。
这样做的正确方法是什么?
答案 0 :(得分:0)
@Todor是对的。该错误是常见错误,研究StackOverflow将为您提供一些解释。
在更实际和更简单的术语中,您所需元素前面可能还有另一个元素,或者您的元素尚未准备好接受输入,因为它需要通过用户事件激活。最有可能是焦点或点击。
因此,通常建议就是这样做。 Click Element
之前Input Element
遇到此问题时没有明显原因。