Найти - Пользователи
Полная версия: Заполнение форм mechanize, twill, grab.
Начало » Центр помощи » Заполнение форм mechanize, twill, grab.
1 2
noob_saibot
Теперь появилась новая проблема
Захожу на сайт с ява скриптом:
<html>
<body>
<select name="CATEGORY" tabindex="2">
<option value=""></option>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
^^^Это выпадающий список.^^^
В этом списке надо выбрать одну из категорий.
Если пользуюсь:
g.set_input_by_xpath("//option[@value=""]","1")
Так же пробовал:
g.set_input_by_xpath("//html/body/select/option[@value=""]","1")
Выдает: XPathEvalError: Invalid expression
Если использую:
g.set_input("CATEGORY","1")
Выдает: ValueError: There is no option with the value of ‘1’

Что-то я опятьснова делаю не так.
Lexander
У вас не хватает обрамляющего тэга FORM.
lorien
> Выдает: ValueError: There is no option with the value of ‘1’
Можеть быть, потому что опции селекта рисуются через js

Вы можеет так сделать:
g.go(''page with form")
g.submit(make_request=False) # эта строчка настроит g.config['post'] полями формы, например, hidden-полями
g.config['post']['CATEGORY'] = '1'
g.go('action url формы')
noob_saibot
Lexander
У вас не хватает обрамляющего тэга FORM.
g.set_input_by_xpath("//html/body/form/select/option“,”1")
Я правильно вас понял? Такая же ошибка.

lorien
> Выдает: ValueError: There is no option with the value of ‘1’Можеть быть, потому что опции селекта рисуются через js
Вы можеет так сделать:
Выдает: list indices must be integers, not str.
Почитаю о работе с postами
Lexander
noob_saibot
Я имел ввиду в html, а не в xpath.
plusplus
noob_saibot, я делаю так:
g.set_input("CATEGORY", '1')
# Если граб не нашел такое поле, то добавляю вручную:
g.submit(extra_post={"CATEGORY":"1"})

noob_saibot
plusplus
noob_saibot, я делаю так:
Спасибо огромное!!!)
А если в выпадающем списке добавляется optgroup то имя селекта, я так понимаю, станет составным?
noob_saibot
Всем спасибо за помощь, после добавления в программу:
g.submit(extra_post={"CATEGORY":"1"})
Все заработало как по маслу))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB