无法使用红宝石使用链接文本/部分链接文本单击链接

时间:2016-04-27 13:22:17

标签: ruby selenium

我是新来的,甚至是RubySelenium。我想点击网页上的链接,其中包含以下代码:

<a> target="mainFrame" href="dynamic_Utility_Index.htm">Dynamic Utilities</a>

所以基本上我想点击这个动态实用程序。我到目前为止写的脚本是:

    require 'selenium-webdriver'
    require 'win32ole'

    driver = Selenium::WebDriver.for:firefox
    driver.manage().window().maximize();

    driver.navigate.to 'xyz.com'

    wait = Selenium::WebDriver::Wait.new(:timeout =>10) # seconds

    #Click on Dynamic Utilities
    wait.until{driver.find_element(:link_text,'dynamic_Utility_Index.htm').click}
    puts "Clicked"

我甚至使用link,partial_link_text代替link_text但仍然收到以下错误

  

(无法找到元素:{&#34;方法&#34;:&#34;链接   文本&#34;&#34;选择器&#34;:&#34;动态&#34;})   (硒::的webdriver ::错误:: TimeOutError)

我正在使用RubySelenium Web driver

2 个答案:

答案 0 :(得分:1)

您尝试过:

сompile 'com.android.support:support-annotations:23.3.0'
androidTestCompile ("com.android.support.test:runner:0.5"){
   exclude group: 'com.android.support'
}
androidTestCompile ('com.android.support.test:rules:0.5'){
   exclude group: 'com.android.support'
}

??有时我必须使用大写的文本链接。

另一种选择可能是:

wait.until{driver.find_element(:link_text,'DYNAMIC UTLITIES').click}

希望对你有用:D

答案 1 :(得分:0)

您认为是link textdynamic_Utility_Index.htm)的项目实际上只是href属性的值。实际链接文本为"Dynamic Utilities"。您也可以使用xpath定位器//a[@href="dynamic_Utility_Index.htm"],而不是按链接文字搜索:

wait.until{driver.find_element(:xpath,'//a[@href="dynamic_Utility_Index.htm"]').click}