user2134050
user2134050

Reputation: 107

How to get image source value

Let's say I have HTML like this:

<div class="out-radio">
    <div class="in-radio">
        <input type="radio" value = "12345">
        <label
        <span           
            <div
                <img src="http://s3.amazonaws.com/test001.jpg">
            </div>
        </span
    </label
    </div>
    <div class="in-radio">
        <input type="radio" value = "12346">
        <label
        <span           
            <div
                <img src="http://s3.amazonaws.com/test002.jpg">
            </div>
        </span
    </label
    </div>
    <div class="in-radio">
        <input type="radio" value = "12347">
        <label
        <span           
            <div
                <img src="http://s3.amazonaws.com/test003.jpg">
            </div>
        </span
    </label
    </div>
    <div class="in-radio">
        <input type="radio" value = "12348">
        <label
        <span           
            <div
                <img src="http://s3.amazonaws.com/test004.jpg">
            </div>
        </span
    </label
    </div>
    <div class="in-radio">
        <input type="radio" value = "12349">
        <label
        <span           
            <div
                <img src="http://s3.amazonaws.com/test005.jpg">
            </div>
        </span
    </label
    </div>
</div>

If I want to display the value for the selected radio button, I would do it like this:

browser.element(:xpath, '//*[@class = "in-radio"]').inputs.each {|input| puts value if input.checked?}

How would I display the src for the selected radio button? Is there any way I could put:

browser.element(:xpath, '//*[@class = "in-radio"]').(inputs,imgs).each {|input,img| ...}

Upvotes: 2

Views: 136

Answers (1)

Željko Filipin
Željko Filipin

Reputation: 57312

If you select the last radio button:

browser.radios.each {|radio| p radio.parent.img.src if radio.set?}
# => "http://s3.amazonaws.com/test005.jpg"

Upvotes: 5

Related Questions