selenium.common.exceptions.ElementNotInteractableException:无法通过键盘访问

时间:2019-08-04 19:17:31

标签: python selenium

我正在尝试填写某种形式,但是无法使用硒来访问该字段。我搜索了一些答案,但没有一个起作用。我该怎么办?

这是我正在使用python和硒的机器人

以下是该机器人的代码,该代码填写了表单:

m

这是html上的元素名称:

NaN

还有她的元素电子邮件:

m = df.groupby('ID').Rank.diff().eq(1)
df['prevX'] = df.groupby('ID').X.shift().where(m)

Out[28]:
     ID   X  X_2  X_3  Rank  prevX
0   XJ5  30   24   37     1    NaN
1   XK4  20   22   20     1    NaN
2   XK5  33   27   38     1    NaN
3   XK7  22   19   22     1    NaN
4   XJ5  33   22   21     2   30.0
5   XK4  20   22   22     2   20.0
6   XK5  33   24   29     2   33.0
7   XK6  23   21   22     2    NaN
8   XJ5  24   22   19     3   33.0
9   XK4  21   20   34     3   20.0
10  XK5  19   22   32     3   33.0
11  XK6  44   24   21     3   23.0
12  XK7  32   21   23     3    NaN

这是给我的错误:

def fillEmailAndName():
    input_name = DRIVER.find_element_by_id('contestant[name]')
    input_name.send_keys(DATA['name'])

    input_email = DRIVER.find_element_by_id('contestant[email]')
    input_email.send_keys(DATA['email'].format(generateEmailNumber()))

    input_email.send_keys(Keys.ENTER)

页面来源:

input id="contestant[name]" name="name" ng-model-options="{ debounce: 300 }" ng-model="contestantState.form.name" ng-pattern=".*" placeholder="Alice Smith" required="" style="width: 246px" type="text" class="ng-empty ng-invalid ng-invalid-required ng-valid-pattern ng-dirty ng-valid-parse ng-touched"

我不知道如何在不使用stackoverflow的情况下放置html箭头

1 个答案:

答案 0 :(得分:0)

您可以尝试通过javascript进行设置:

DRIVER.execute_script("document.querySelector('[name=name]').value = 'xxx'")

即使输入不可交互,这也将起作用。