Webdriver - запись в строку в текстовом поле - PullRequest
0 голосов
/ 25 декабря 2018

Я пытаюсь заставить мою программу записать строку в текстовое поле с циклом for, но я не могу этого сделать.

Я попытался сделать это с функцией и без, и я отладил ее ивсе еще не может найти проблему

HTML:

<textarea class="challengeTextArea" rows="4"></textarea>

Что я пробовал (python):

challange = "Dear, dear! How queer it seems, Alice said to herself, Which way? Which way?, holding her hand in hand with Dinah, and saying Come up again, dear! I shall"
text_box = driver.find_element_by_xpath("//textarea[@class='challengeTextArea']")
for letter in challange:
    print(letter)
    text_box.send_keys(letter)
print("IM HERE")

Я ожидаю, что это записать в текстовый файл, нокогда я печатаю письмо в цикле for, он просто печатает первую букву и даже не записывает ее ..

Если вы не можете найти проблему, пожалуйста, дайте мне знать, и я дам больше кусочков от моегокод.

1 Ответ

0 голосов
/ 25 декабря 2018

Вы можете использовать send_keys() или send_keys_to_element() для заполнения textarea, то есть:

from selenium import webdriver
driver = webdriver.Chrome()
html_content = """
<html>
     <head></head>
     <body>
        <textarea class="challengeTextArea" rows="4"></textarea>
     </body>
</html>
"""
driver.get("data:text/html;charset=utf-8," + html_content)
challenge = "Dear, dear! How queer it seems, Alice said to herself, Which way? Which way?, holding her hand in hand with Dinah, and saying Come up again, dear! I shall"
text_box = driver.find_element_by_xpath("//textarea[@class='challengeTextArea']")
text_box.send_keys(challenge)

Выход:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...