<commit_before>package marionette_client

import (
	"encoding/json"
)

type webElement struct {
	id string //`json:"element-6066-11e4-a52e-4f735466cecf"`
	c  *Client
}

func (e *webElement) Id() string {
	return e.id
}

func (e *webElement) FindElement(by By, value string) (*webElement, error) {
	return e.c.FindElement(by, value, &e.id)
}

func (e *webElement) FindElements(by By, value string) ([]*webElement, error) {
	return findElements(e.c, by, value, &e.id)
}

func (e *webElement) IsEnabled() bool {
	return isElementEnabled(e.c, e.id)
}

func (e *webElement) IsSelected() bool {
	return isElementSelected(e.c, e.id)
}

func (e *webElement) IsDisplayed() bool {
	return isElementDisplayed(e.c, e.id)
}

func (e *webElement) TagName() string {
	return getElementTagName(e.c, e.id)
}

func (e *webElement) Text() string {
	return getElementText(e.c, e.id)
}

func (e *webElement) Attribute(name string) string {
	return getElementAttribute(e.c, e.id, name)
}

func (e *webElement) CssValue(property string) string {
	return getElementCssPropertyValue(e.c, e.id, property)
}

func (e *webElement) Rect() map[string]interface{} {
	return getElementRect(e.c, e.id)
}

func (e *webElement) Click() {
	clickElement(e.c, e.id)
}

func (e *webElement) SendKeys(keys string) {
	sendKeysToElement(e.c, e.id, keys)
}

func (e *webElement) Clear() {
	clearElement(e.c, e.id)
}

func (e *webElement) UnmarshalJSON(data []byte) error {
	var d map[string]map[string]string
	err := json.Unmarshal([]byte(data), &d)<commit_msg>Changed WebElement to exported struct<commit_after>package marionette_client

import (
	"encoding/json"
)

type WebElement struct {
	id string //`json:"element-6066-11e4-a52e-4f735466cecf"`
	c  *Client
}

func (e *WebElement) Id() string {
	return e.id
}

func (e *WebElement) FindElement(by By, value string) (*WebElement, error) {
	return findElement(e.c, by, value, &e.id)
}

func (e *WebElement) FindElements(by By, value string) ([]*WebElement, error) {
	return findElements(e.c, by, value, &e.id)
}

func (e *WebElement) IsEnabled() bool {
	return isElementEnabled(e.c, e.id)
}

func (e *WebElement) IsSelected() bool {
	return isElementSelected(e.c, e.id)
}

func (e *WebElement) IsDisplayed() bool {
	return isElementDisplayed(e.c, e.id)
}

func (e *WebElement) TagName() string {
	return getElementTagName(e.c, e.id)
}

func (e *WebElement) Text() string {
	return getElementText(e.c, e.id)
}

func (e *WebElement) Attribute(name string) string {
	return getElementAttribute(e.c, e.id, name)
}

func (e *WebElement) CssValue(property string) string {
	return getElementCssPropertyValue(e.c, e.id, property)
}

func (e *WebElement) Rect() map[string]interface{} {
	return getElementRect(e.c, e.id)
}

func (e *WebElement) Click() {
	clickElement(e.c, e.id)
}

func (e *WebElement) SendKeys(keys string) {
	sendKeysToElement(e.c, e.id, keys)
}

func (e *WebElement) Clear() {
	clearElement(e.c, e.id)
}

func (e *WebElement) UnmarshalJSON(data []byte) error {
	var d map[string]map[string]string
	err := json.Unmarshal([]byte(data), &d)
{'fraction_non_alphanumeric': 0.15289121202221495, 'fraction_numerical': 0.010454099967330937, 'mean_word_length': 5.015717092337917, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '175028', 'n_tokens_mistral': 1203, 'n_tokens_neox': 1180, 'n_words': 296}