@@ -285,42 +285,46 @@ public static async Task<bool> ToTreasury(Account acc, Village vill, TreasuryTab
285
285
286
286
public static async Task < bool > ToHero ( Account acc , HeroTab tab )
287
287
{
288
- var heroAvatarNode = acc . Wb . Html . GetElementbyId ( "heroImageButton" ) ;
288
+ var wait = new WebDriverWait ( acc . Wb . Driver , TimeSpan . FromMinutes ( 1 ) ) ;
289
289
290
- if ( heroAvatarNode == null )
290
+ if ( ! acc . Wb . CurrentUrl . Contains ( "hero" ) )
291
291
{
292
- acc . Logger . Warning ( $ "Cannot find Hero avatar") ;
293
- return false ;
294
- }
292
+ var heroAvatarNode = acc . Wb . Html . GetElementbyId ( "heroImageButton" ) ;
295
293
296
- var elements = acc . Wb . Driver . FindElements ( By . XPath ( heroAvatarNode . XPath ) ) ;
297
- if ( elements . Count == 0 )
298
- {
299
- acc . Logger . Warning ( $ "Cannot find Hero avatar") ;
300
- return false ;
301
- }
302
- elements [ 0 ] . Click ( ) ;
294
+ if ( heroAvatarNode == null )
295
+ {
296
+ acc . Logger . Warning ( $ "Cannot find Hero avatar") ;
297
+ return false ;
298
+ }
303
299
304
- var wait = new WebDriverWait ( acc . Wb . Driver , TimeSpan . FromMinutes ( 1 ) ) ;
305
- wait . Until ( driver =>
300
+ var elements = acc . Wb . Driver . FindElements ( By . XPath ( heroAvatarNode . XPath ) ) ;
301
+ if ( elements . Count == 0 )
302
+ {
303
+ acc . Logger . Warning ( $ "Cannot find Hero avatar") ;
304
+ return false ;
305
+ }
306
+ elements [ 0 ] . Click ( ) ;
307
+
308
+ wait . Until ( driver =>
309
+ {
310
+ acc . Wb . UpdateHtml ( ) ;
311
+ var heroDiv = acc . Wb . Html . GetElementbyId ( "heroV2" ) ;
312
+ if ( heroDiv == null ) return false ;
313
+ var aNode = heroDiv . Descendants ( "a" ) . FirstOrDefault ( x => x . GetAttributeValue ( "data-tab" , 0 ) == 1 ) ;
314
+ if ( aNode == null ) return false ;
315
+ return aNode . HasClass ( "active" ) ;
316
+ } ) ;
317
+ }
306
318
{
307
319
acc . Wb . UpdateHtml ( ) ;
308
- var heroDiv = acc . Wb . Html . GetElementbyId ( "heroV2" ) ;
309
- if ( heroDiv == null ) return false ;
310
- var aNode = heroDiv . Descendants ( "a" ) . FirstOrDefault ( x => x . GetAttributeValue ( "data-tab" , 0 ) == 1 ) ;
311
- if ( aNode == null ) return false ;
312
- return aNode . HasClass ( "active" ) ;
313
- } ) ;
314
-
315
- if ( tab == HeroTab . Inventory ) return true ;
316
-
317
- var navigatorDiv = acc . Wb . Html . GetElementbyId ( "heroV2" ) ;
318
- var tabNode = navigatorDiv . Descendants ( "a" ) . FirstOrDefault ( x => x . GetAttributeValue ( "data-tab" , 0 ) == ( int ) tab ) ;
319
- if ( tabNode == null ) return false ;
320
- var tabElements = acc . Wb . Driver . FindElements ( By . XPath ( tabNode . XPath ) ) ;
321
- if ( tabElements . Count == 0 ) return false ;
322
- tabElements [ 0 ] . Click ( ) ;
323
-
320
+ var navigatorDiv = acc . Wb . Html . GetElementbyId ( "heroV2" ) ;
321
+ var tabNode = navigatorDiv . Descendants ( "a" ) . FirstOrDefault ( x => x . GetAttributeValue ( "data-tab" , 0 ) == ( int ) tab ) ;
322
+ if ( tabNode == null ) return false ;
323
+ if ( tabNode . HasClass ( "active" ) ) return true ;
324
+ var tabElements = acc . Wb . Driver . FindElements ( By . XPath ( tabNode . XPath ) ) ;
325
+ if ( tabElements . Count == 0 ) return false ;
326
+ tabElements [ 0 ] . Click ( ) ;
327
+ }
324
328
wait . Until ( driver =>
325
329
{
326
330
acc . Wb . UpdateHtml ( ) ;
0 commit comments