Как щелкнуть ссылку внутри фрейма с помощью фреймворка робота selenium2Library? - PullRequest
0 голосов
/ 09 октября 2019

Ниже мой код, я мог войти на страницу, но после входа я не смог выйти.

Развернуть окно браузера

Input Text    //*[@id="userid"]    some_user_name
Input Password    //*[@id="password"]    some_password 
Click Button    //*[@id="btnSubmit"]
sleep    10s
Select Frame    //*[@id="topFrame"]
Page Should Contain    Log out
Click Element    //*[contains(text(),'Log out')]

Журналы:

Starting test: WebScraping.NAS web.Welcome
20191009 15:29:40.801 : INFO : Opening browser 'chrome' to base url 'some url'.
20191009 15:29:45.557 : INFO : Typing text '******' into text field '//*[@id="userid"]'.
20191009 15:29:45.658 : INFO : Typing password into text field '//*[@id="password"]'.
20191009 15:29:45.739 : INFO : Clicking button '//*[@id="btnSubmit"]'.
20191009 15:29:55.823 : INFO : Slept 10 seconds
20191009 15:29:55.881 : INFO : Current page contains text 'Log out'.
20191009 15:29:55.881 : INFO : Clicking element '//*[contains(text(),'Log out')]'.
20191009 15:29:56.310 : FAIL : Element with locator '//*[contains(text(),'Log out')]' not found.
Ending test: WebScraping.NAS web.Welcome

1 Ответ

0 голосов
/ 17 октября 2019

Я думаю, что проблема в следующей строке:

Select Frame    //*[@id="topFrame"]

Тег frame не содержит атрибута id, вместо этого он использует атрибут name для идентификации. ( Документация по тегам HTML )

Используйте @name вместо @id, как в следующей строке

Select Frame    //*[@name="topFrame"]

Надеюсь, это решит вашу проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...