ФорумПрограммированиеPythonPylons, Pyramid, TurboGears → grub работа с элементом без name

grub работа с элементом без name

  • polin11

    Сообщения: 8 Репутация: N Группа: Кто попало

    Spritz 11 декабря 2015 г. 19:46

    Использую модуль Grab,
    есть форма для авторизации Enter [me.hack.me]
    нужно ввести в поле логин иформацию, но у этого элемента нет name, есть id="username"
    <div class="input-prepend">
    <span class="add-on"><i class="icon-user"></i></span>
    <input type="text" id="username" required placeholder="Username or email" class="input-xlarge">
    </div>

    пробую след. образом
    from grab import Grab
    g = Grab()
    g.go("https://me.hack.me/login")
    g.set_input_by_id('username', 'user')

    выдает ошибку KeyError: 'No input element with the name None', на сколько я понимаю
    нет возможности вставть в элемент без name. Пробовал использовать set_input_by_xpath - то же самое.
    Внимание вопрос:
    Можно ли работать с элементом вэб страницы (ввести туда данные) без name

  • Crank

    Сообщения: 541 Репутация: N Группа: Джедаи

    Spritz 12 декабря 2015 г. 4:07, спустя 8 часов 21 минуту 30 секунд

    @polin11, так не делают )))) Получай доступ через родительские элементы. Или просто получай все инпуты документа и работай с ним по его порядковому номеру.

  • polin11

    Сообщения: 8 Репутация: N Группа: Кто попало

    Spritz 12 декабря 2015 г. 18:11, спустя 14 часов 4 минуты 5 секунд

    Поясните, что вы имеете ввиду.
    Пробовал

    g.set_input_by_xpath('/html/body/div[3]/div[1]/center/div/div/div/div[1]/form/table/tbody/tr[1]/td/div/input', 'user')
    g.set_input_by_xpath('//[@id="username"]', 'user')
    g.set_input(g.choose_form_by_element('//
    [@id="username"]'), "user")
    g.set_input_by_id('username', 'user')

    ошибка KeyError: 'No input element with the name None'

  • Crank

    Сообщения: 541 Репутация: N Группа: Джедаи

    Spritz 13 декабря 2015 г. 5:15, спустя 11 часов 3 минуты 25 секунд

    Это не вероятно тупо но оно и правда не работает. Мой вам совет, не майтесь этой херней, отправляйте форму напрямую через requests.post

Пожалуйста, авторизуйтесь, чтобы написать комментарий!