Функция Send_keys не работает в selenium -python

#python #selenium #automation #automated-tests

#python #селен #автоматизация #автоматизированные тесты

Вопрос:

Я использую как xpath, так и css_selector для поиска элемента, он найден, он щелкнул, но он все равно не может отправить ключи. Я думаю, что проблема заключается в том, что класс ввода при нажатии и без нажатия отличается (‘_1y306T’ и ‘_1y306T _2ynKud’).Я пытался использовать EC, sleep, но это не удалось.

HTML-код:

 <div class='UEclfJ _27cR_W'>
<input type ='tel' autocomplete='one-time-code' maxlength = '6'>

<input class='_1y306T _2ynKud' maxlength = '1'reandonly value>
<input class='_1y306T' maxlength = '1'reandonly value>
<input class='_1y306T' maxlength = '1'reandonly value>
<input class='_1y306T' maxlength = '1'reandonly value>
<input class='_1y306T' maxlength = '1'reandonly value>
<input class='_1y306T' maxlength = '1'reandonly value>

</div>
  

Я протестировал первую ячейку, в ней было 6 ячеек (форма OTP)
Мой код:

         cell_change = WebDriverWait(self.driver,10).until(lambda driver:self.driver.find_element_by_xpath('//input[contains(@class, "_1y306T") and contains(@class, "_2ynKud")]'))
        self.driver.execute_script("arguments[0].removeAttribute('readonly','readonly')", cell_change)
        print("remove success")
        sleep(3)
        cell_change.send_keys("1")
        sleep(1)
   
  

Спасибо.

Комментарии:

1. Я думаю, ваша проблема в том, что входной элемент имеет атрибут только для чтения .

2. да, я думал об этом, я попытался удалить это с помощью execute_js и установить значение, его не удается подтвердить

3. Вопрос в том, можете ли вы вручную ввести текст этих элементов? (человеком, а не селеном)

4. да, я могу ввести вручную

5. Я удалил «только для чтения» перед send_keys, она немного изменилась, но по-прежнему не отображается символ

Ответ №1:

Попробуйте это:

 cell_change = WebDriverWait(self.driver,10).until(lambda driver:self.driver.find_element_by_xpath('//input[contains(@class, "_1y306T") and contains(@class, "_2ynKud")]'))
  

Комментарии:

1. Она по-прежнему не работает, ее можно щелкнуть, но невозможно отправить send_keys