Как установить текст в текстовой области с помощью Mechanical Soup? - PullRequest
0 голосов
/ 28 марта 2019

Я учусь создавать бота Omegle, но интерфейс Omegle был создан в HTML, и я не очень разбираюсь ни в HTML, ни в MechanicalSoup.

В той части, где вставляется текст,фрагмент кода выглядит следующим образом:

<td class="chatmsgcell">
    <div class="chatmsgwrapper">
        <textarea class="chatmsg " cols="80" rows="3"></textarea>
    </div>
</td>

В части кнопки для отправки текста фрагмент кода:

<td class="sendbthcell">
    <div class="sendbtnwrapper">
        <button class="sendbtn">Send<div class="btnkbshortcut">Enter</div></button>
    </div>
</td>

Я хочу установить текст в textareaи отправить его через button.

Глядя на некоторые примеры в HTML, я думаю, правильный способ установить текст в textarea заключается в следующем:

<textarea>Here's a text.</textarea>

Кроме того, яЯ новичок в MechanicalSoup, но я думаю, что знаю, как найти и установить значение в HTML-коде:

# example in the Twitter interface

login_form = login_page.soup.find("form", {"class": "signin"})

LOGIN = "yourlogin"
login_form.find("input", {"name": "session[username_or_email]"})["value"] = LOGIN

Из того, что я понимаю, первый аргумент - это имя тега, а второй -является словарем, первый элемент которого является именем атрибута, а второй элемент является значением атрибута.

Но у тега textarea нет атрибута для установки текста, например value="Here's a text.",Что я должен сделать для установки текста в textarea с помощью MechanicalSoup?

1 Ответ

0 голосов
/ 28 марта 2019

Я знаю, что это не тот ответ, который вы ожидаете, но чтение документа поможет; -).

Полная документация доступна по адресу:

https://mechanicalsoup.readthedocs.io/

Возможно, вы захотите начать с урока:

https://mechanicalsoup.readthedocs.io/en/stable/tutorial.html

Короче говоря, вам нужно выбрать форму, которую вы хотите заполнить:

browser.select_form('form[action="/post"]')

ЗатемЗаполнение полей просто как

browser["custname"] = "Me"
browser["custtel"] = "00 00 0001"
browser["custemail"] = "nobody@example.com"
browser["comments"] = "This pizza looks really good :-)"
...