2017-04-21 2 views
5

Derzeit bin ich Ausfüllen des Formulars auf einer Website mit folgendem aus:Python: Wie füllt man das Formular auf einmal mit Splitter/Browser aus?

browser.fill(‘form[firstname]’, ‘Mabel’) 
browser.fill(‘form[email]’, ‘[email protected]’) 
browser.select(‘form[color]’, ‘yellow’) 

Aber die Form wird die Form sequentiell ausgefüllt, eine nach der anderen. Gibt es eine Möglichkeit, das Formular auf einmal auszufüllen?

Vielen Dank und werde sicher sein, die Stimme zu erheben und die Antwort zu akzeptieren!

Antwort

3

Browser hat eine Methode namens: fill_form(field_values)

Es dauert einen dict Parameter, mit den Feldnamen und den Werten, und es füllt die sofort Form.

So werden Sie browser.fill_form(dict) anstelle von browser.fill(field, value)

Weitere Informationen über Browser-API und seine Methoden hier:

https://splinter.readthedocs.io/en/latest/api/driver-and-element-api.html

+0

glaube nicht, dass ich ruhig Verständnis bin, wie es funktioniert. Stört es Sie, ein kleines Beispiel zu zeigen? –

+0

und wie kann ich auch auf '.select()' anwenden? –

+0

schätze es! Aber ich kann immer noch sehen, dass es auf einmal und dann auf einmal ausgefüllt wird. Gibt es eine Möglichkeit, das Formular auf einmal auszufüllen? Hier ist die dict Ich verwende: 'form_dict = { \t 'form [Vorname]': 'Mabel', \t 'form [email]': '[email protected]', \t‚form [color] ':' yellow ' } ' –

Verwandte Themen