diff --git a/remote_driver_element.go b/remote_driver_element.go index c359001..a411656 100644 --- a/remote_driver_element.go +++ b/remote_driver_element.go @@ -7,15 +7,11 @@ import ( ) type findElementResponse struct { - E element `json:"value"` + E map[string]string `json:"value"` } type findElementsResponse struct { - E []element `json:"value"` -} - -type element struct { - ID string `json:"element"` + E map[string]string `json:"value"` } func (s *seleniumWebDriver) FindElement(by By) (Element, error) { @@ -45,9 +41,11 @@ func (s *seleniumWebDriver) FindElement(by By) (Element, error) { if err != nil { return nil, newUnmarshallingError(err, "FindElement", string(resp)) } - - el := newSeleniumElement(response.E.ID, s) - return el, nil + + for _, value := range response.E { + return newSeleniumElement(value, s), nil + } + return nil, errors.New("Not Found") } func (s *seleniumWebDriver) FindElements(by By) ([]Element, error) { @@ -78,9 +76,9 @@ func (s *seleniumWebDriver) FindElements(by By) ([]Element, error) { return nil, newUnmarshallingError(err, "FindElements", string(resp)) } - elements := make([]Element, len(response.E)) - for i := range response.E { - elements[i] = newSeleniumElement(response.E[i].ID, s) + var elements []Element + for _, el := range response.E { + elements = append(elements, newSeleniumElement(el, s)) } return elements, nil