селен python не может отправить число в качестве ключа для ввода - PullRequest
2 голосов
/ 30 апреля 2020

Я пытался отправить номера телефонов на элемент ввода ниже

<div id="mainframe.childframe.form.div_main.form.div_work.form.edt_mbtlTelNoCentral" class="Edit" tabindex="-1" style="left:309px;top:305px;width:85px;height:28px;" aria-label="휴대전화 가운데자리(필수입력) " aria-description="" userstatus="" status="enabled"><input id="mainframe.childframe.form.div_main.form.div_work.form.edt_mbtlTelNoCentral:input" class="nexainput" style="left:0px;top:0px;width:83px;height:26px;ime-mode:disabled;" value="" maxlength="4" type="text"><input id="mainframe.childframe.form.div_main.form.div_work.form.edt_mbtlTelNoCentral:input" class="nexainput" style="left:0px;top:0px;width:83px;height:26px;ime-mode:disabled;" value="" maxlength="4" type="text"></div>

с этим кодом

actions = ActionChains(driver)
ele = driver.find_element_by_xpath('//*[@maxlength="4"]')
actions.click(ele).key_down(Keys.CONTROL).send_keys("a").key_up(Keys.CONTROL).send_keys("Keys.Delete").send_keys('9049').perform()

, но он сохранил ключ отправки, такой как введите описание изображения здесь

как я могу это исправить?

1 Ответ

1 голос
/ 30 апреля 2020

Предполагая, что я смотрю в нужном месте (мой корейский язык не совсем подходит, даже с Google Translate), я думаю, у вас есть два поля, соответствующие xpath "//*[@maxlength="4"]".

Я создал этот пример, чтобы заполнить их оба:

#get elements matching your xpath; this will return 2 items
elems = driver.find_elements_by_xpath('//*[@maxlength="4"]')

#to fill both boxes
numbers=[1234,5678] 
for i, num in enumerate(numbers):
    elems[i].clear()
    elems[i].send_keys(num)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...