【问题标题】:How to Click Link by URL in Robot Framework如何在 Robot Framework 中点击 URL 链接
【发布时间】:2017-08-17 00:44:47
【问题描述】:

在[Selenium2 Robot Framework 文档][1]中,点击链接的指南是:

点击定位器标识的链接。链接的关键属性是 idnamehref 和链接文本。有关定位的详细信息,请参阅简介 元素。

我尝试过使用 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

【问题讨论】:

  • 你能添加你试过的代码吗?

标签: selenium robotframework robotframework-ide


【解决方案1】:

以下应该都可以正常工作:

Click Link       href=http://link.com

Click Link       xpath=//a[@href="http://link.com"]

但如果您的链接中有 = 符号,则第一个选项将不起作用。你应该在href= 前面添加default= 来解决这个问题。

【讨论】:

  • 嗨,巴斯,感谢您的建议。我试过href,但出现以下错误:“ValueError:不支持带有前缀'href'的元素定位器”
  • 我厌倦了第二个选项,但奇怪的是它返回以下错误:“ValueError: Element locator 'xpath=//a[@href="test/enquire.aspx"]' did not match any元素”。但是当我在 View Source 中搜索 url 时,我可以看到 url。
  • 亲爱的@Jamie,Click Link href=test/enquire.aspx? (我看到你添加了 https,我认为这没有多大意义)
【解决方案2】:

这就是文件所说的, http://robotframework.org/Selenium2Library/Selenium2Library.html#Click%20Link

您可以使用 id、name、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

【讨论】:

    【解决方案3】:

    在 Robot Framework 中为 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) 这将使用 Robot 在 Log.html 文件中创建超链接

    【讨论】:

      【解决方案4】:

      在我的情况下 Click LinkClick Element 不起作用。

      所以尝试了下面的代码,它成功了。

      注意:

      此代码使用库 ImageHorizo​​nLibrary 以及 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
      

      【讨论】:

        【解决方案5】:

        您可以使用此代码的另一种方式。

        *** Variable ***
           ${profile}          https://web.facebook.com/xxx
        *** Keywords ***
        Click Profile
           [Arguments]        ${xpath}
           Click Element      ${xpath}
        *** Test Cases ***
           Go To           ${profile}
        

        希望能提供帮助。

        【讨论】:

          猜你喜欢
          • 2017-05-12
          • 1970-01-01
          • 2020-02-18
          • 2013-01-08
          • 2016-02-04
          • 2020-03-26
          • 2017-11-08
          • 2021-04-19
          • 1970-01-01
          相关资源
          最近更新 更多