Okay, I just the answer that works in getting the class name.

.attribute_value('*class*')

Here is my code:
section_headers.each do|sec_hdr|
     puts hdr = sec_hdr.attribute_value('class')
    if hdr == 'item digest-options'
      puts hdr_1 = $browser.li(:class,'item digest-options').h2.text
    end
end

item subscriptions-description
item digest-options
* header  = Digest Options
item community-features
item member-discussions

ree-1.8.7-2010.02 :050 > section_headers.each do|sec_hdr|
ree-1.8.7-2010.02 :051 >     puts hdr = sec_hdr.attribute_value('class')
ree-1.8.7-2010.02 :052?>   end
item subscriptions-description
item digest-options
item community-features
item member-discussions

On Mon, Nov 7, 2011 at 9:07 AM, Joe Fleck <joeflec...@gmail.com> wrote:

> So, I won't be able to retrieve those headers because the first one has a
> <p> in it.
>
> Why is it when I try to get the li class name it returns?
>
> ree-1.8.7-2010.02 :041 > section_headers.each do|sec_hdr|
> ree-1.8.7-2010.02 :042 >     puts hdr = sec_hdr.class
> ree-1.8.7-2010.02 :043?>   end
> Watir::LI
> Watir::LI
> Watir::LI
> Watir::LI
>
> On Mon, Nov 7, 2011 at 8:40 AM, Michael <mmcwill...@gmail.com> wrote:
>
>> That appears to be because your first LI doesn't have a H2 inside of it.
>> When you put one LI after another, the browser will automatically close the
>> first before the second opens.
>>
>> <ul class="items">
>> <li class="item subscriptions-description">
>> <li class="item digest-options">
>> <h2>Digest Options</h2>
>>
>>
>> Fix your HTML syntax and you should be good to go.
>>
>> Michael
>>
>> On 2011-Nov-07, at 6:08 AM, Joe Fleck wrote:
>>
>> No worries,
>>
>> here is what I got when I ran the code:
>>
>> ree-1.8.7-2010.02 :024 > section_headers = $browser.div(:class,"mod
>> simple your-subscriptions").div(:class,"bd").ul(:class,"items").lis
>>  => #<Watir::LICollection:0x1044bf000 @parent=#<Watir::UList:0x1044bf0f0
>> located=false selector={:class=>"items", :tag_name=>"ul"}>,
>> @selector={:tag_name=>"li"}>
>> ree-1.8.7-2010.02 :025 > section_headers.each do|sec_hdr|
>> ree-1.8.7-2010.02 :026 >     puts hdr = sec_hdr.h2.text
>> ree-1.8.7-2010.02 :027?>   end
>> Watir::Exception::UnknownObjectException: unable to locate element, using
>> {:tag_name=>"h2"}
>>  from
>> /Users/josephfleck/.rvm/gems/ree-1.8.7-2010.02/gems/watir-webdriver-0.3.4/lib/watir-webdriver/elements/element.rb:248:in
>> `assert_exists'
>>  from
>> /Users/josephfleck/.rvm/gems/ree-1.8.7-2010.02/gems/watir-webdriver-0.3.4/lib/watir-webdriver/elements/element.rb:55:in
>> `text'
>> from (irb):26
>>  from
>> /Users/josephfleck/.rvm/gems/ree-1.8.7-2010.02/gems/watir-webdriver-0.3.4/lib/watir-webdriver/element_collection.rb:21:in
>> `each'
>> from
>> /Users/josephfleck/.rvm/gems/ree-1.8.7-2010.02/gems/watir-webdriver-0.3.4/lib/watir-webdriver/element_collection.rb:21:in
>> `each'
>>  from (irb):25
>> from
>> /Users/josephfleck/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/site_ruby/1.8/rubygems.rb:406
>>
>> If I do it this way:
>>
>> ree-1.8.7-2010.02 :034 > section_headers.each do|sec_hdr|
>> ree-1.8.7-2010.02 :035 >     puts hdr = sec_hdr.text
>> ree-1.8.7-2010.02 :036?>   end
>>
>> I get this output which at a level to high
>>
>> Association CDK Sandbox provides you with all updates from the community
>> that you subscribe to in a single email, delivered weekly or daily. You can
>> customize the content of your digest and how often you want to receive it.
>> To stop receiving the digest, just set the frequency of updates to never.
>> * Digest Options
>> Frequency of digest:
>> Weekly
>> Daily
>> Never
>> Format of digest:
>> HTML Format (images)
>> Text Only
>> * Community Features
>> Guided Discussions
>> * Member Discussion Topics
>> Select the topics you're interested in to receive activity updates in
>> those areas.
>> Engineering
>> UX
>> QA
>>
>> I have starred those headers I need.
>>
>>
>>
>> On Sun, Nov 6, 2011 at 9:45 PM, Michael <mmcwill...@gmail.com> wrote:
>>
>>> A second looks at your code made me think you should be using ul
>>> (singular because you only have one), and append lis on the end to get all
>>> the li's contained within the ul.
>>>
>>> My Code:section_headers =
>>> $browser.div(:class,"bd").ul(:class,"items").lis
>>>
>>>
>>> Sorry about the first response, please disregard it.
>>>
>>> Michael
>>>
>>> On 2011-Nov-06, at 7:40 PM, Michael wrote:
>>>
>>> You probably intended to use uls which will return a list of ul's
>>> instead of ul which only returns the first matching ul.
>>>
>>> Try:
>>>
>>> My Code:section_headers = $browser.div(:class,"bd").uls(:class,"items")
>>>
>>>
>>> Michael
>>>
>>> On 2011-Nov-06, at 7:09 PM, Joe Fleck wrote:
>>>
>>> Hi Chuck,
>>>
>>> I am still having a bit of trouble with getting a group of h2 from a
>>> page.
>>>
>>> My Code:section_headers = $browser.div(:class,"bd").ul(:class,"items")
>>> section_headers.each do|sec_hdr|
>>> puts hdr = sec_hdr.h2.text
>>> end
>>>
>>> I get the following error message.
>>> NoMethodError: undefined method `each' for #<Watir::UList:0x10aa117f0>
>>>  from
>>> /Users/josephfleck/.rvm/gems/ree-1.8.7-2010.02/gems/watir-webdriver-0.3.4/lib/watir-webdriver/elements/element.rb:295:in
>>> `method_missing'
>>>  from (irb):10
>>> from
>>> /Users/josephfleck/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/site_ruby/1.8/rubygems/deprecate.rb:58
>>>
>>>
>>> The HTML Code:
>>> <div class="mod simple your-subscriptions">
>>> <div class="inner">
>>> <div class="hd">
>>> <div class="bd">
>>> <ul class="items">
>>> <li class="item subscriptions-description">
>>> <li class="item digest-options">
>>> <h2>Digest Options</h2>
>>> <div class="line form">
>>> <div class="unit size2of5">
>>> <div class="line lastUnit size3of5">
>>> <label class="wide-label" for="digest_setting_email_format">Format of
>>> digest:</label>
>>> <select id="digest_setting_email_format" name="
>>> digest_setting[email_format]" data-method="put" data-href="
>>> /digest_settings/488" data-command="change">
>>> </div>
>>> </div>
>>> </li>
>>> <li class="item community-features">
>>> <h2>Community Features</h2>
>>> <div class="line form">
>>> <input id="109" class="unit content-feed-subscribe checkbox mrm" type="
>>> checkbox" value="content-feed-109" name="content_feed_Guided Discussions
>>> " data-subscription-url="/content_feeds/109/subscribe?channel_id=57"
>>> data-content-feed-id="109">
>>> <label class="unit label-for-checkbox" for="109">Guided Discussions</
>>> label>
>>> </div>
>>> </li>
>>> <li class="item member-discussions">
>>> <h2>Member Discussion Topics</h2>
>>> <p>Select the topics you're interested in to receive activity updates
>>> in those areas.</p>
>>> <div class="line form">
>>> <div class="unit size1of2">
>>> <div class="line checkbox-row">
>>> <input id="107" class="unit content-feed-subscribe checkbox mrm" type="
>>> checkbox" value="content-feed-" name="content_feed_Engineering"
>>> data-subscription-url="/content_feeds/107/subscribe?channel_id=57"
>>> data-content-feed-id="107">
>>> <label class="unit label-for-checkbox" for="107">Engineering</label>
>>> </div>
>>> <div class="line checkbox-row">
>>> <input id="108" class="unit content-feed-subscribe checkbox mrm" type="
>>> checkbox" value="content-feed-" name="content_feed_UX"
>>> data-subscription-url="/content_feeds/108/subscribe?channel_id=57"
>>> data-content-feed-id="108">
>>> <label class="unit label-for-checkbox" for="108">UX</label>
>>> </div>
>>> </div>
>>> <div class="unit size1of2 lastUnit">
>>> <div class="line checkbox-row">
>>> <input id="110" class="unit content-feed-subscribe checkbox mrm" type="
>>> checkbox" value="content-feed-" name="content_feed_QA"
>>> data-subscription-url="/content_feeds/110/subscribe?channel_id=57"
>>> data-content-feed-id="110">
>>> <label class="unit label-for-checkbox" for="110">QA</label>
>>> </div>
>>> </div>
>>> </div>
>>> </li>
>>> </ul>
>>>
>>> I just want the h2 header.
>>>
>>> On Fri, Oct 21, 2011 at 5:07 PM, Chuck van der Linden 
>>> <sqa...@gmail.com>wrote:
>>>
>>>>
>>>>
>>>> On Oct 21, 10:41 am, Joe Fl <joeflec...@gmail.com> wrote:
>>>> > Hi,
>>>> >
>>>> > I need to retrieve multiple discusion titles from a page. I just want
>>>> > the titles only and there can be 5 to 13 on a page with other links
>>>> > listed under them.  I have tried the following and it will only return
>>>> > the first discussion title or all links:
>>>> >
>>>> > subject_lines =
>>>> >
>>>> $browser.div(:class,'one_col_select').div(:id,'naph').div(:id,'discussion-
>>>> > board').span(:class,'discussion-title').links
>>>> >
>>>> > subject_lines.each do|link|
>>>> >     puts title_name = link.text
>>>> > end
>>>> >
>>>>
>>>> Your problem is that you are telling it to get all the links from
>>>> within a single span.  I think what you need to do is get all the
>>>> spans which contain those links, and then pull the link text, OR if
>>>> the only links on the page are those of the class theme are the ones
>>>> you want, then just go for the links directly
>>>>
>>>> If you can go after the links, then
>>>>
>>>>  subject_links = $browser.links(:class, 'theme')
>>>>
>>>>  subject_links.each do|link|
>>>>    puts  link.text
>>>>  end
>>>>
>>>> If the links are not unique enough on their own, then unless there are
>>>> other spans on the page with the discussion_title class that you don't
>>>> want, you need to do something more along these lines
>>>>
>>>>  subjects = $browser.spans(:class,'discussion-title')
>>>>
>>>>  subjects.each do|subject|
>>>>    puts subject.link.text    #presumes we want first link inside the
>>>> span
>>>>  end
>>>>
>>>> --
>>>> Before posting, please read http://watir.com/support. In short: search
>>>> before you ask, be nice.
>>>>
>>>> watir-general@googlegroups.com
>>>> http://groups.google.com/group/watir-general
>>>> watir-general+unsubscr...@googlegroups.com<http://groups.google.com/group/watir-generalwatir-general+unsubscr...@googlegroups.com>
>>>>
>>>
>>>
>>> --
>>> Before posting, please read http://watir.com/support. In short: search
>>> before you ask, be nice.
>>>
>>> watir-general@googlegroups.com
>>> http://groups.google.com/group/watir-general
>>> watir-general+unsubscr...@googlegroups.com
>>>
>>>
>>>
>>> --
>>> Before posting, please read http://watir.com/support. In short: search
>>> before you ask, be nice.
>>>
>>> watir-general@googlegroups.com
>>> http://groups.google.com/group/watir-general
>>> watir-general+unsubscr...@googlegroups.com
>>>
>>>
>>>
>>> --
>>> Before posting, please read http://watir.com/support. In short: search
>>> before you ask, be nice.
>>>
>>> watir-general@googlegroups.com
>>> http://groups.google.com/group/watir-general
>>> watir-general+unsubscr...@googlegroups.com
>>>
>>
>>
>> --
>> Before posting, please read http://watir.com/support. In short: search
>> before you ask, be nice.
>>
>> watir-general@googlegroups.com
>> http://groups.google.com/group/watir-general
>> watir-general+unsubscr...@googlegroups.com
>>
>>
>>  --
>> Before posting, please read http://watir.com/support. In short: search
>> before you ask, be nice.
>>
>> watir-general@googlegroups.com
>> http://groups.google.com/group/watir-general
>> watir-general+unsubscr...@googlegroups.com
>>
>
>

-- 
Before posting, please read http://watir.com/support. In short: search before 
you ask, be nice.

watir-general@googlegroups.com
http://groups.google.com/group/watir-general
watir-general+unsubscr...@googlegroups.com

Reply via email to