如何在Ruby Selenium WebDriver中获取元素的img URL

时间:2016-05-31 12:37:06

标签: ruby selenium selenium-webdriver

超级菜鸟所以我提前为任何愚蠢的问题道歉...

我正在尝试创建一个脚本,通过以下方式查找和图像:id,保存它的图像URL(也称为img src),然后单击图像。

到目前为止我已经完成了:

    require 'rubygems'
    require 'selenium-webdriver'

    driver = Selenium::WebDriver.for:firefox
    wait = Selenium::WebDriver::Wait.new(:timeout => 15)

    driver.get 'http://example.com'

    image = wait.until {
        element = driver.find_element(:id,'id_image')
        element if element.displayed?
    }
    #this is the part where i would like to save the IMAGE URL 
    image click.click

我刚刚接受了代码的相关部分,我可以向您保证,到目前为止,这一切都完美无缺,但我无法保存图片网址。

谢谢!

2 个答案:

答案 0 :(得分:1)

您需要元素的href属性。在selenium中,您可以使用element.attribute('attribute-name')

获取属性

在你的情况下,你会做类似的事情:

href = image.attribute('href')

答案 1 :(得分:-1)

我建议您使用Capybara,因为它有几个有用的选择器。

通过这种方式,您可以使用以下内容获取URL属性:

href = driver.find_element(:id, 'id_image')[href]

相关问题: Capybara: is it possible to get an attribute value from a css string?