Source code for hal.internet.selenium.forms
# -*- coding: utf-8 -*-
"""Some utils methods for a selenium web-driver """
[docs]class SeleniumFormFiller:
"""Methods to deal with selenium web-drivers"""
def __init__(self, browser):
"""
:param browser: selenium browser to user
"""
self.browser = browser
[docs] def fill_form_field(self, field_name, field_value):
"""Fills given field with given value
:param field_name: name of field to fill
:param field_value: value with which to fill field
"""
self.browser.execute_script(
"document.getElementsByName(\"" + str(
field_name) + "\")[0].value = \"" + str(field_value) + "\"")
[docs] def fill_login_form(self, username, username_field, user_password,
user_password_field):
"""Fills form with login info
:param username: user login
:param username_field: name of field to fill with username
:param user_password: login password
:param user_password_field: name of field to fill with user password
"""
self.fill_form_field(username_field, username) # set username
self.fill_form_field(user_password_field, user_password) # set password
[docs] def submit_form(self, button_name):
"""Submits form
:param button_name: name of button to press to submit form
"""
self.browser.execute_script(
"document.getElementsByName(\"" + button_name + "\")[0].click()"
) # click button