Robobrowser. Как заполнить ввод без атрибута имени

Выше решение работает для меня, я преобразован в swift3

Здесь вы можете найти код swift3

var base64Str = arr[1] as String
if base64Str.characters.count % 4 != 0 {
    let padlen = 4 - base64Str.characters.count % 4      
    base64Str += String(repeating: "=", count: padlen)
}

if let data = Data(base64Encoded: base64Str, options: []),
    let str = String(data: data, encoding: String.Encoding.utf8) {
        print(str)
}
0
задан Akoazm 3 March 2019 в 14:53
поделиться

1 ответ

Я тестировал код ниже

html:

<form class="form form_horizontal" novalidate="" action="http://localhost:3000/test" method="POST">
    <div class="form__field">
        <label class="form__label">
            <span class="tanker-text">получить ссылку на&nbsp;приложение по&nbsp;смс</span>.
        </label>
        <div class="y-input y-input_theme_normal y-input_clearable y-input_size_m y-input_width_ form__input">
            <div class="y-input__box">
                ::before
                <span class="y-input__clear"></span>
                <input type="tel" value="" maxlength="20" placeholder="+7XXXXXXXXXX" cols="10" class="y-input__control">
            </div>
        </div>
    </div>
    <button type="submit" class="y-button y-button_theme_action y-button_size_l y-button_type_submit form__button"
        role="button" aria-haspopup="true">
        <span class="y-button__text"><span class="tanker-text">Получить</span></span>.
    </button>
</form>

Узел:
- Визуализация HTML [115 ]
- Для теста отправки формы создан POST API ( http: // localhost: 3000 / test )

var express = require('express');
const bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json())


app.use('/', express.static(__dirname + '/public'));
app.post('/test', (req, res) => {
    console.log('test POST', req.body, req.params);
    res.status(200).json({ status: true })
});

app.listen(3000, function () { console.log('listening') });

Python:

from robobrowser import RoboBrowser
import re

url = 'http://localhost:3000/test.html'
rb =  RoboBrowser()
rb.open(url)


ff = rb.get_form(class_=re.compile('form'))

# yInputControl = rb.find(class_=re.compile(r'\y-input__control\b'))
yInputControl = rb.find(class_='y-input__control')
print(yInputControl)
yInputControl.value = 'myphonenumber' 
rb.submit_form(ff)
0
ответ дан Winner 3 March 2019 в 14:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: