在[Selenium2机器人框架文档][1]中,点击链接的指南是:
单击由定位器标识的链接。链接的关键属性是 id, 名称、href 和链接文本。有关定位的详细信息,请参阅简介 元素。
我已经尝试了使用 href 标签插入 URL 的不同方法,但我仍然无法让它工作。我可以举个例子吗?我无法使用链接文本,因为我有多个具有相同文本的链接(不幸的是名为"创建"(,并且它们没有任何元素 ID 供我参考。
我收到此错误:
ValueError: Element locator with prefix 'href' is not supported
提前感谢!
这是我的代码:
*** Settings ***
Library Selenium2Library
*** Test Cases ***
Test1
[Documentation] Try to login
Open Browser {my login page by i cant post more than 2 links here. it's working fine here} CHROME
Input Text //*[@id="rightColum"]/table/tbody/tr/td[2]/table/tbody/tr/td/form/table/tbody/tr[1]/td[2]/input username
Input Password //*[@id="rightColum"]/table/tbody/tr/td[2]/table/tbody/tr/td/form/table/tbody/tr[2]/td[2]/input password
Click Button //*[@id="Login2"]
Click Link href=https://test/enquire.aspx
以下应该都可以正常工作:
Click Link href=http://link.com
Click Link xpath=//a[@href="http://link.com"]
但是,如果您的链接中有 = 符号,则第一个选项将不起作用。您应该在href=
前面添加default=
来解决此问题。
这是文档所说的,http://robotframework.org/Selenium2Library/Selenium2Library.html#Click%20Link
您可以使用 id、名称、href 和链接文本。现在我不确定您的 html 代码看起来如何,但您可以使用以下任何一种方法
Click Link | id=my_element
Click Link | name=my_element
Click Link | default=page?a=b
Click Link | link=My Link
如果没有任何效果,您可以形成 Xpath、CSS 标识符并使用 Click Element
您可以使用此代码的另一种方式。
*** Variable ***
${profile} https://web.facebook.com/xxx
*** Keywords ***
Click Profile
[Arguments] ${xpath}
Click Element ${xpath}
*** Test Cases ***
Go To ${profile}
希望对您有所帮助。
在机器人框架中为 URL 创建超链接
** settings **
Library Builtin
** Keywords **
To create Hyper Link
Log <a href="http://robotframework.org/">ROBOT</a> HTML
** Test case **
Verify to create hyper for URL in robotframework
To create Hyper Link
1(这将在日志.html文件中创建与机器人的超链接<</p>
在我的情况下,单击链接,单击元素不起作用。
所以尝试了下面的代码,它奏效了。
注意:
此代码使用库 ImageHorizonLibrary 以及 SeleniumLibrary
Scroll Element Into View xpath=//tbody/tr/td[1]/a[@class='searchLink']
Wait Until Element Is Enabled xpath=//tbody/tr/td[1]/a[@class='searchLink']
Set Focus To Element xpath=//tbody/tr/td[1]/a[@class='searchLink']
ImageHorizonLibrary.Press Combination Key.Enter