From 8da843f996e3242cef40c3cbef829c789c038272 Mon Sep 17 00:00:00 2001 From: Klyachin Andrey Date: Wed, 27 May 2020 19:50:17 +0400 Subject: [PATCH 1/3] Changed selenium api --- remote_driver_element.go | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/remote_driver_element.go b/remote_driver_element.go index c359001..f7053e5 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) { @@ -46,8 +42,14 @@ func (s *seleniumWebDriver) FindElement(by By) (Element, error) { return nil, newUnmarshallingError(err, "FindElement", string(resp)) } - el := newSeleniumElement(response.E.ID, s) - return el, nil + var values []string + for _, value := range response.E { + values = append(values, value) + } + if len(values) > 0 { + return newSeleniumElement(values[0], s), nil + } + return nil, errors.New("Not Found") } func (s *seleniumWebDriver) FindElements(by By) ([]Element, error) { @@ -79,8 +81,8 @@ func (s *seleniumWebDriver) FindElements(by By) ([]Element, error) { } elements := make([]Element, len(response.E)) - for i := range response.E { - elements[i] = newSeleniumElement(response.E[i].ID, s) + for _, el := range response.E { + elements = append(elements, newSeleniumElement(el, s)) } return elements, nil From 1a6aae56286dffb3b22b0e8a0ee8a89846aa9d09 Mon Sep 17 00:00:00 2001 From: Klyachin Andrey Date: Wed, 27 May 2020 19:52:23 +0400 Subject: [PATCH 2/3] Minor changes --- remote_driver_element.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/remote_driver_element.go b/remote_driver_element.go index f7053e5..3c532e3 100644 --- a/remote_driver_element.go +++ b/remote_driver_element.go @@ -80,7 +80,7 @@ func (s *seleniumWebDriver) FindElements(by By) ([]Element, error) { return nil, newUnmarshallingError(err, "FindElements", string(resp)) } - elements := make([]Element, len(response.E)) + var elements []Element for _, el := range response.E { elements = append(elements, newSeleniumElement(el, s)) } From f62536ea9db1ec068612c517b412c57f4a118445 Mon Sep 17 00:00:00 2001 From: Klyachin Andrey Date: Tue, 9 Jun 2020 11:43:58 +0400 Subject: [PATCH 3/3] Update remote_driver_element.go fix --- remote_driver_element.go | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/remote_driver_element.go b/remote_driver_element.go index 3c532e3..a411656 100644 --- a/remote_driver_element.go +++ b/remote_driver_element.go @@ -41,13 +41,9 @@ func (s *seleniumWebDriver) FindElement(by By) (Element, error) { if err != nil { return nil, newUnmarshallingError(err, "FindElement", string(resp)) } - - var values []string + for _, value := range response.E { - values = append(values, value) - } - if len(values) > 0 { - return newSeleniumElement(values[0], s), nil + return newSeleniumElement(value, s), nil } return nil, errors.New("Not Found") }