Skip to content

Commit c68930f

Browse files
authored
Merge pull request #67 from Erol444/fix_navigation
Fix navigation
2 parents a7533a8 + 93ae462 commit c68930f

File tree

6 files changed

+22
-9
lines changed

6 files changed

+22
-9
lines changed

TbsCore/Helpers/HttpHelper.cs

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using RestSharp;
22
using System;
33
using System.Net;
4+
using System.Threading.Tasks;
45
using TbsCore.Models.Access;
56
using TbsCore.Models.AccModels;
67

@@ -24,10 +25,20 @@ public static CookieContainer GetCookies(Account acc)
2425
return cookieContainer;
2526
}
2627

28+
public static async Task<string> SendPostReqAsync(Account acc, RestRequest req)
29+
{
30+
acc.Wb.RestClient.BaseUrl = new Uri(acc.AccInfo.ServerUrl);
31+
acc.Wb.RestClient.CookieContainer = GetCookies(acc);
32+
33+
var response = await acc.Wb.RestClient.ExecuteAsync(req);
34+
if (response.StatusCode != HttpStatusCode.OK) throw new Exception("SendGetReq failed!\n" + response.Content);
35+
36+
return response.Content;
37+
}
2738
public static string SendPostReq(Account acc, RestRequest req)
2839
{
2940
acc.Wb.RestClient.BaseUrl = new Uri(acc.AccInfo.ServerUrl);
30-
acc.Wb.RestClient.CookieContainer = HttpHelper.GetCookies(acc);
41+
acc.Wb.RestClient.CookieContainer = GetCookies(acc);
3142

3243
var response = acc.Wb.RestClient.Execute(req);
3344
if (response.StatusCode != HttpStatusCode.OK) throw new Exception("SendGetReq failed!\n" + response.Content);

TbsCore/Helpers/NavigationHelper.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ public static async Task<bool> MainNavigate(Account acc, MainNavigationButton bu
2020
var nav = acc.Wb.Html.GetElementbyId("navigation");
2121
if (nav == null) return false;
2222
await DriverHelper.ClickByAttributeValue(acc, "accesskey", ((int)button).ToString());
23+
await TaskExecutor.PageLoaded(acc);
2324
return true;
2425
}
2526

TbsCore/Helpers/VillageHelper.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,20 +87,21 @@ public static Village VillageFromId(Account acc, int id)
8787

8888
public static async Task SwitchVillage(Account acc, int id)
8989
{
90-
// Parse village list again and find correct href
9190
Uri uri = new Uri(acc.Wb.CurrentUrl);
9291

92+
// Parse village list again and find correct href
9393
var vills = RightBarParser.GetVillages(acc.Wb.Html, acc.AccInfo.ServerVersion);
9494
var href = vills.FirstOrDefault(x => x.Id == id)?.Href;
95-
9695
if (string.IsNullOrEmpty(href)) // Login screen, server messages etc.
9796
{
98-
await acc.Wb.Navigate($"{acc.AccInfo.ServerUrl}/dorf1.php?newdid={id}");
97+
await acc.Wb.Navigate($"{acc.AccInfo.ServerUrl}/dorf1.php");
9998
return;
10099
}
101100

102-
if (href.Contains(acc.AccInfo.ServerUrl)) await acc.Wb.Navigate(href);
103-
else await acc.Wb.Navigate(uri.Scheme + "://" + uri.Host + uri.AbsolutePath + href);
101+
var val = $"?newdid={id}";
102+
// The * after href is for query selector; it will select all elements that contain {val}
103+
await DriverHelper.ClickByAttributeValue(acc, "href*", val);
104+
await TaskExecutor.PageLoaded(acc);
104105
}
105106

106107
/// <summary>

TbsCore/Tasks/LowLevel/SendWaves.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ public override async Task<TaskRes> Execute(Account acc)
202202
{
203203
lastSent = DateTime.Now;
204204
acc.Logger.Information($"{DateTime.Now.Second}.{DateTime.Now.Millisecond}] Sending wave {i + 1}");
205-
_ = HttpHelper.SendPostReq(acc, wavesReady[i].Request);
205+
_ = HttpHelper.SendPostReqAsync(acc, wavesReady[i].Request);
206206

207207
// Wait +- 10% selected delay
208208
var delay = SendWaveModels[i].DelayMs;

TbsCore/Tasks/LowLevel/UpdateVillage.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ public override async Task<TaskRes> Execute(Account acc)
3030

3131
await UpdateTroopsResearchedAndLevels(acc);
3232

33-
await acc.Wb.Navigate($"{acc.AccInfo.ServerUrl}/dorf2.php");
33+
await NavigationHelper.ToDorf2(acc);
3434
await Task.Delay(AccountHelper.Delay(acc));
3535
await UpdateTroopsTraining(acc);
3636

TbsCore/Tasks/SecondLevel/ScoutPlayer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ namespace TbsCore.Tasks.SecondLevel
1515
public class ScoutPlayer : CheckProfile
1616
{
1717
public int MinPop { get; set; } = 100;
18-
public int MaxPop { get; set; } = 300;
18+
public int MaxPop { get; set; } = 1000;
1919
public int ScoutNum { get; set; } = 1;
2020

2121
public override async Task<TaskRes> Execute(Account acc)

0 commit comments

Comments
 (0)