What you're actually looking for is something a little more like this, I 
think:

var ew = document.evaluate("//strong[2]", document, null, 9, 
null).singleNodeValue;

if (ew) {
     ew = ew.innerHTML * 1;

     alert("Number of earthworms is " + ew);
}


This works (or doesn't; I haven't actually tested the whole thing, but 
it should work fine) because you can index nodes found by number 
(starting at 1). Also, I stuck in the check I suggested in the last 
message, to make sure you won't get any null reference errors (the if 
(ew) { and }).

On 2009-10-26 15:41, Stuer Michael wrote:
> so like you guys said i removed the Pcontains thing because there is
> no<p>
> and when i first tried he nagged about the return again so i removed
> it and therefore ended up with :
>
> var ew=document.evaluate("//strong",document,null,
> 9,null).singleNodeValue;
>
> ew=ew.innerHTML*1;
>
> alert("Number of earthworms is "+ew);
>
> and when i ran this i finally got output... namely my fishing fever
> score (wich is a different number in<strong>  a little before the one
> i need. (actually the one right before it.
>
> so how can i make him skip the first one and use the second one he
> finds.
>
> PS: i allready want to thank all of you for helping me here :p i know
> i'm not the most experienced scripter but its nice that others help
> you sometimes :p
>
> friendly greets
>
> On 24 okt, 20:46, cc<carlcl...@lavabit.com>  wrote:
>    
>> The return only works if the chunk of code is within a function. If
>> you're using a current version of Greasemonkey, it should just work
>> (because most versions wrap the script in an anonymous function before
>> executing).
>>
>> Alternatively, reverse the logic of the if statement and put the two
>> following statements inside the if block, getting rid of the return
>> statement entirely.
>>
>> Gordon already touched on the real problem with this code, of course,
>> which is that the XPath is looking for<p>  tags that don't exist.
>>
>> On 2009-10-24 05:48, Stuer Michael wrote:
>>
>>      
>>> Well i just tried the piece of code erik posted but i got some errors
>>>        
>>      
>>> i tried the script as follows
>>>        
>>      
>>> var ew = document.evaluate("//p[contains(.,'earthworms')]/
>>> strong",document,null,9,null).singleNodeValue;
>>>        
>>      
>>> if(!ew) return; // no earthworms node found
>>>        
>>      
>>> ew = ew.innerHTML*1;
>>>        
>>      
>>> alert("Number of earthworms is "+ew);
>>>        
>>      
>>> but i got this error: SyntaxError: return not in function
>>>    in eval() line 0
>>>        
>>      
>>> and then i tried withouth the return line and got this:
>>>        
>>      
>>> TypeError: ew is null
>>>        
>>      
>>> maybe it'll help if i post more of the source page.
>>>        
>>      
>>> <table id="megaTable2" cellpadding="0" cellspacing="0">
>>>     <tr>
>>>             <td rowspan="2" id="leftSpacing">
>>>             </td>
>>>             <td id="contentBox" height="500" valign="top">
>>>                     <center>    <table border="0" cellspacing="0" 
>>> cellpadding="2"
>>> width="100%">
>>>        
>>      
>>>             <tr>
>>>                     <td width=95% class="heading_box">
>>>                             Fishing Fever
>>>                     </td>
>>>             </tr>
>>>     </table><br>Here in the lake district, we offer you the chance to
>>> compete in our famous fishing fever competition. All you need is an
>>> earthworm to use as bait, and a good sense of where in the lake you'll
>>> find the largest catch.<br><br>Your current fishing fever score is
>>> <strong>31</strong><br><br>You currently have<strong>98</strong>
>>> earthworms. Earn more at<a href='dirtdigger.php'>Dirt Digger</
>>> a><br><br>Pick a location, cast your line, and see what you reel in!
>>> <br><br><form method='post' action='/fishingfever.php?act=fish'><input
>>> type='image' src='http://www.pokeplushies.com/images/games/
>>> cf_lake.jpg' style='cursor:crosshair;'><input type='hidden'
>>> name='code' value='74848'></form><br><br><a href='/fishingfever.php?
>>> act=topfishers'>Click here to see who the top fishers are!</a>              
>>>         </
>>> center>
>>>        
>>      
>>>             </td>
>>>             <td rowspan="2" width="160" valign="top">
>>>                     <center>
>>>        
>>      
>>> On Oct 23, 8:30 pm, Erik Vold<erikvv...@gmail.com>    wrote:
>>>        
>>      
>>>>    A regex will work, but xpath expression is better in general, or you
>>>> could write an xpath expression with some 
>>>> regexhttp://www.regular-expressions.info/xpath.html
>>>> which is probably better if you are going to use regex at all.
>>>>          
>>      
>>>> Using Gordon's xpath exp the js to get your earthworm count should be
>>>> like:
>>>> var ew=document.evaluate("//p[contains(.,'earthworms')]/
>>>> strong",document,null,9,null).singleNodeValue;
>>>> if(!ew) return;// no earthworms node found
>>>> ew=ew.innerHTML*1;
>>>> alert("Number of earthworms is "+ew);
>>>>          
>>      
>>>> Where the last line that alerts the earthworm count is something more
>>>> useful.
>>>>          
>>      
>>>> Erik
>>>>          
>>      
>>>> On Oct 23, 6:36 am, Gordon Pettey<petteyg...@gmail.com>    wrote:
>>>>          
>>      
>>>>> On Fri, Oct 23, 2009 at 4:33 AM, 杨大成<dachen...@gmail.com>    wrote:
>>>>>            
>>      
>>>>>> i don't see any js can operate<strong>    ,
>>>>>> how about regex?
>>>>>>              
>>      
>>>>> I repeat: XPath. No need for a regex.
>>>>>            
>>      
>>> ____________________________________________________________________________________
>>> Introducing Branchr
>>> Super Simple Advertising
>>> http://click.lavabit.com/?pub=78&ad=0023&url=aHR0cDovL2JyYW5jaHIuY29t...
>>> ____________________________________________________________________________________
>>>        
> >
>
> ____________________________________________________________________________________
> Introducing Branchr
> Super Simple Advertising
> http://click.lavabit.com/?pub=78&ad=0023&url=aHR0cDovL2JyYW5jaHIuY29tLw==
> ____________________________________________________________________________________
>    


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"greasemonkey-users" group.
To post to this group, send email to greasemonkey-users@googlegroups.com
To unsubscribe from this group, send email to 
greasemonkey-users+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/greasemonkey-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to