• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 07:16
CET 12:16
KST 20:16
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
[ASL21] Ro24 Preview Pt1: New Chaos0Team Liquid Map Contest #22 - Presented by Monster Energy7ByuL: The Forgotten Master of ZvT30Behind the Blue - Team Liquid History Book19Clem wins HomeStory Cup 289
Community News
Weekly Cups (March 16-22): herO doubles, Cure surprises3Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool48Weekly Cups (March 9-15): herO, Clem, ByuN win42026 KungFu Cup Announcement6BGE Stara Zagora 2026 cancelled12
StarCraft 2
General
herO wins SC2 All-Star Invitational Potential Updates Coming to the SC2 CN Server What mix of new & old maps do you want in the next ladder pool? (SC2) Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool Weekly Cups (March 16-22): herO doubles, Cure surprises
Tourneys
WardiTV Mondays Sparkling Tuna Cup - Weekly Open Tournament World University TeamLeague (500$+) | Signups Open RSL Season 4 announced for March-April WardiTV Team League Season 10
Strategy
Custom Maps
[M] (2) Frigid Storage Publishing has been re-enabled! [Feb 24th 2026]
External Content
The PondCast: SC2 News & Results Mutation # 518 Radiation Zone Mutation # 517 Distant Threat Mutation # 516 Specter of Death
Brood War
General
RepMastered™: replay sharing and analyzer site mca64Launcher - New Version with StarCraft: Remast BGH Auto Balance -> http://bghmmr.eu/ Gypsy to Korea Soulkey's decision to leave C9
Tourneys
[ASL21] Ro24 Group B [Megathread] Daily Proleagues [ASL21] Ro24 Group A [ASL21] Ro24 Group C
Strategy
What's the deal with APM & what's its true value Fighting Spirit mining rates Simple Questions, Simple Answers Soma's 9 hatch build from ASL Game 2
Other Games
General Games
Stormgate/Frost Giant Megathread Darkest Dungeon Nintendo Switch Thread General RTS Discussion Thread Path of Exile
Dota 2
The Story of Wings Gaming Official 'what is Dota anymore' discussion
League of Legends
G2 just beat GenG in First stand
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
TL Mafia Community Thread Five o'clock TL Mafia Mafia Game Mode Feedback/Ideas Vanilla Mini Mafia
Community
General
When Should Authors Begin Planning Their Publishin European Politico-economics QA Mega-thread US Politics Mega-thread Canadian Politics Mega-thread Russo-Ukrainian War Thread
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Req][Books] Good Fantasy/SciFi books Movie Discussion! [Manga] One Piece
Sports
Cricket [SPORT] 2024 - 2026 Football Thread Formula 1 Discussion Tokyo Olympics 2021 Thread General nutrition recommendations
World Cup 2022
Tech Support
[G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
Funny Nicknames
LUCKY_NOOB
Money Laundering In Video Ga…
TrAiDoS
Iranian anarchists: organize…
XenOsky
FS++
Kraekkling
Shocked by a laser…
Spydermine0240
Unintentional protectionism…
Uldridge
ASL S21 English Commentary…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 3445 users

XPath / Autopager Question

Blogs > JeeJee
Post a Reply
Normal
JeeJee
Profile Blog Joined July 2003
Canada5652 Posts
Last Edited: 2009-12-08 03:32:24
December 08 2009 03:29 GMT
#1
Hiyo~
Long story short, I recently found out about Autopager firefox addon and am trying to get it to work with TL. Unfortunately I have zero XPath experience, so here's where you guys come in =D

Autopager is basically an addon that, for multi-page websites, lets you scroll down to the bottom, and automatically load the next page as part of current html, so you essentially get infinite scrolling (kind of like the All link but on-demand)

To do this it needs 2 things: the url pattern and what to load. The second part is easy, the first one I'm having trouble with..

Here's the default script it presents me with
//a[@title='Next Page (2)' and (text()='Next')]

It basically looks for a link whose Alt Text is Next Page (2) and text is Next and is a subset of http://www.teamliquid.net/forum/viewmessage.php? This works well for the first page and doesn't work for any other page, because the Alt Txt becomes Next Page (3) for the second page, Next Page (4) for the third page, etc

I'm trying to use the starts-with function so that it essentially works like "@title starts-with 'Next Page' and text is Next" but can't figure it out. I got something like
//a[starts-with(@title, 'Next Page') and (text()='Next')]
but it's not working because I think it doesn't link @title to the link.. not sure.

Any experts here? =D

+ Show Spoiler +
Alternatively maybe those Alt Txts could just be changed to say Next Page? ^_^


(\o/)  If you want it, you find a way. Otherwise you find excuses. No exceptions.
 /_\   aka Shinbi (requesting a name change since 27/05/09 ☺)
Elemenope
Profile Blog Joined March 2006
Burkina Faso1704 Posts
December 08 2009 03:52 GMT
#2
Sup jeejee ze
In DotA you could
Nitrogen
Profile Blog Joined February 2008
United States5345 Posts
December 08 2009 03:53 GMT
#3
hey jeejee, i can't really help you with this, but if i know one thing for certain, it's that your name is jeejee.
UNFUCK YOURSELF
geegee1
Profile Blog Joined April 2009
United States618 Posts
December 08 2009 03:56 GMT
#4
hey hey my name is geegee1 LOLOL
pew pew
Nitrogen
Profile Blog Joined February 2008
United States5345 Posts
December 08 2009 03:57 GMT
#5
what the fuck
UNFUCK YOURSELF
Elemenope
Profile Blog Joined March 2006
Burkina Faso1704 Posts
December 08 2009 03:57 GMT
#6
wow are you fucking serious ze?
In DotA you could
SonuvBob
Profile Blog Joined October 2006
Aiur21550 Posts
December 08 2009 04:03 GMT
#7
Maybe try 'Next Page (*)'?
Administrator
Elemenope
Profile Blog Joined March 2006
Burkina Faso1704 Posts
December 08 2009 04:06 GMT
#8
Bob is such a silly silly person ze
In DotA you could
SonuvBob
Profile Blog Joined October 2006
Aiur21550 Posts
December 08 2009 04:15 GMT
#9
Keep the trash in the dota thread ze
Administrator
onmach
Profile Blog Joined March 2009
United States1241 Posts
December 08 2009 04:26 GMT
#10
This works:

//a[text() = 'Next' and contains(@title, 'Next Page')]


A bit more thorough:
//a[text() = 'Next' and contains(@title, 'Next Page') and contains(@href, 'viewmessage')]
JeeJee
Profile Blog Joined July 2003
Canada5652 Posts
Last Edited: 2009-12-08 04:29:22
December 08 2009 04:28 GMT
#11
On December 08 2009 13:03 SonuvBob wrote:
Maybe try 'Next Page (*)'?


the quotes seem to be treating it as a literal asterisk rather than a regex symbol
i tried \* and then i tried separating .. made a typo and it worked
//a[@title='Next Page ('=*+')' and (text()='Next')]


no idea why this works. i meant to put +'s on both sides, but that doesn't work.
oh well whatever, problem fixed =D

but onmach's solution is cleaner and i'll be using that instead
tyvm ^_^
(\o/)  If you want it, you find a way. Otherwise you find excuses. No exceptions.
 /_\   aka Shinbi (requesting a name change since 27/05/09 ☺)
Elemenope
Profile Blog Joined March 2006
Burkina Faso1704 Posts
December 08 2009 04:29 GMT
#12
WHERE'S THE SUP BACK JEEJEE, WHERE IS IT ZE?
In DotA you could
onmach
Profile Blog Joined March 2009
United States1241 Posts
December 08 2009 04:35 GMT
#13
This is an awesome extension, by the way. Thanks for the tip.
JeeJee
Profile Blog Joined July 2003
Canada5652 Posts
December 08 2009 04:36 GMT
#14
oh why the devil are blogs coded differently
good thing it's just one extra line <3

and @ dota guys
this isn't the dota thread, i believe there are standards on TL re: posting outside that thread
and i'm still shinbi you jerkwads.
(\o/)  If you want it, you find a way. Otherwise you find excuses. No exceptions.
 /_\   aka Shinbi (requesting a name change since 27/05/09 ☺)
Elemenope
Profile Blog Joined March 2006
Burkina Faso1704 Posts
December 08 2009 04:41 GMT
#15
Then why is charliemurphy able to post ze
In DotA you could
JeeJee
Profile Blog Joined July 2003
Canada5652 Posts
December 08 2009 04:46 GMT
#16
yeah good point.
(\o/)  If you want it, you find a way. Otherwise you find excuses. No exceptions.
 /_\   aka Shinbi (requesting a name change since 27/05/09 ☺)
onmach
Profile Blog Joined March 2009
United States1241 Posts
December 08 2009 04:57 GMT
#17
I had to tweak a few things to get it to work just right.

For url pattern, enable regexp and use this:
http://www.teamliquid.net/(forum|blogs)/view(message|blog)\.php.*


For link xpath:
//a[text() = 'Next' and contains(@title, 'Next Page') and contains(@href, 'view')]


For content xpath:
//td[@valign="top"]//table[@width=600]


Sure makes following the fitness thread easier.
SonuvBob
Profile Blog Joined October 2006
Aiur21550 Posts
December 08 2009 05:26 GMT
#18
On December 08 2009 13:41 Elemenope wrote:
Then why is charliemurphy able to post ze

He's only able to post about half the time :p
Administrator
JeeJee
Profile Blog Joined July 2003
Canada5652 Posts
December 08 2009 05:55 GMT
#19
random followup question (probably @onmach )
currently my next page loads at the top of my current one rather than the bottom -- any way to change this? (i.e. not make it load the next page until i've reached the bottom of the current one)
i've tried experimenting with "paging when space is less than X window heights" but that option doesn't seem to do anything at all >.>
(\o/)  If you want it, you find a way. Otherwise you find excuses. No exceptions.
 /_\   aka Shinbi (requesting a name change since 27/05/09 ☺)
ForTheSwarm
Profile Blog Joined April 2009
United States556 Posts
December 08 2009 06:33 GMT
#20
On December 08 2009 14:26 SonuvBob wrote:
Show nested quote +
On December 08 2009 13:41 Elemenope wrote:
Then why is charliemurphy able to post ze

He's only able to post about half the time :p


Ha ha ha. So true too, lol.
Whenever I see a dropship, my asshole tingles, because it knows whats coming... - TheAntZ
onmach
Profile Blog Joined March 2009
United States1241 Posts
Last Edited: 2009-12-08 16:37:03
December 08 2009 16:36 GMT
#21
I noticed the same thing. Annoying.

The reason (I think) is because it loads the page when it sees the first next link on the page. The first link it sees is at the very top of the thread, so it figures you are at the bottom of the page. Since both the top and bottom next links are identical, I'm having trouble telling xpath to get the second one with the // search type.

edit: Here's a fix:

(//a[text() = 'Next' and contains(@title, 'Next Page') and contains(@href, 'view')])[2]


This selects the second next link only. The other thing I had to do was in site manager in the advanced tab for your rule, select 0 for the minimum preloaded page count. I think it defaults to one preloaded page, which causes an auto load.
JeeJee
Profile Blog Joined July 2003
Canada5652 Posts
December 08 2009 19:22 GMT
#22
On December 09 2009 01:36 onmach wrote:
I noticed the same thing. Annoying.

The reason (I think) is because it loads the page when it sees the first next link on the page. The first link it sees is at the very top of the thread, so it figures you are at the bottom of the page. Since both the top and bottom next links are identical, I'm having trouble telling xpath to get the second one with the // search type.

edit: Here's a fix:

(//a[text() = 'Next' and contains(@title, 'Next Page') and contains(@href, 'view')])[2]


This selects the second next link only. The other thing I had to do was in site manager in the advanced tab for your rule, select 0 for the minimum preloaded page count. I think it defaults to one preloaded page, which causes an auto load.


man
you rule
:D
tyvm..browsing TL got more addictive with a lot less clicking... (is that a good thing? :s)
(\o/)  If you want it, you find a way. Otherwise you find excuses. No exceptions.
 /_\   aka Shinbi (requesting a name change since 27/05/09 ☺)
Normal
Please log in or register to reply.
Live Events Refresh
Next event in 44m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
SortOf 171
mouzHeroMarine 168
Lowko92
MindelVK 22
ProTech3
StarCraft: Brood War
Britney 8934
Sea 6505
Bisu 1844
EffOrt 1253
Jaedong 1071
Hyuk 646
BeSt 554
Stork 384
ggaemo 307
firebathero 302
[ Show more ]
Mini 216
Rush 193
Soma 144
Pusan 131
Light 128
Soulkey 117
Leta 108
ZerO 105
Snow 98
ToSsGirL 86
Mind 75
Aegong 51
hero 50
sorry 29
Shine 23
yabsab 22
Shinee 20
Nal_rA 16
Sea.KH 11
ajuk12(nOOB) 6
Dota 2
XaKoH 477
XcaliburYe306
canceldota179
Counter-Strike
byalli1686
olofmeister1312
edward88
Other Games
singsing1910
FrodaN793
B2W.Neo725
crisheroes255
Fuzer 182
Sick155
ZerO(Twitch)8
Organizations
Other Games
BasetradeTV58
StarCraft: Brood War
CasterMuse 16
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 14 non-featured ]
StarCraft 2
• LUISG 47
• StrangeGG 42
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• iopq 7
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Jankos1558
Upcoming Events
WardiTV Team League
44m
Big Brain Bouts
5h 44m
Fjant vs SortOf
YoungYakov vs Krystianer
Reynor vs HeRoMaRinE
RSL Revival
22h 44m
Cure vs Zoun
herO vs Rogue
WardiTV Team League
1d
Platinum Heroes Events
1d 3h
BSL
1d 8h
RSL Revival
1d 22h
ByuN vs Maru
MaxPax vs TriGGeR
WardiTV Team League
2 days
BSL
2 days
Replay Cast
2 days
[ Show More ]
Replay Cast
2 days
Afreeca Starleague
2 days
Light vs Calm
Royal vs Mind
Wardi Open
2 days
Monday Night Weeklies
3 days
OSC
3 days
Sparkling Tuna Cup
3 days
Afreeca Starleague
3 days
Rush vs PianO
Flash vs Speed
Replay Cast
4 days
Afreeca Starleague
4 days
BeSt vs Leta
Queen vs Jaedong
Replay Cast
5 days
The PondCast
5 days
Replay Cast
6 days
RSL Revival
6 days
Liquipedia Results

Completed

KCM Race Survival 2026 Season 1
WardiTV Winter 2026
Underdog Cup #3

Ongoing

BSL Season 22
CSL Elite League 2026
CSL Season 20: Qualifier 1
ASL Season 21
Acropolis #4 - TS6
RSL Revival: Season 4
Nations Cup 2026
NationLESS Cup
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual

Upcoming

2026 Changsha Offline CUP
CSL Season 20: Qualifier 2
CSL 2026 SPRING (S20)
Acropolis #4
IPSL Spring 2026
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
IEM Atlanta 2026
Asian Champions League 2026
PGL Astana 2026
BLAST Rivals Spring 2026
CCT Season 3 Global Finals
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.