Skip to content

Commit 76be291

Browse files
committed
fix infinite loop in switch villageadd check before execute ToConstructionTab
1 parent 2259e9e commit 76be291

File tree

2 files changed

+25
-25
lines changed

2 files changed

+25
-25
lines changed

TbsCore/Helpers/VillageHelper.cs

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -88,32 +88,29 @@ public static Village VillageFromId(Account acc, int id)
8888

8989
public static async Task SwitchVillage(Account acc, int id)
9090
{
91-
do
91+
try
9292
{
93-
try
94-
{
95-
acc.Wb.UpdateHtml();
96-
var node = acc.Wb.Html.DocumentNode.SelectSingleNode($"//div[@data-did='{id}']/a");
97-
if (node is null) return;
98-
99-
var element = acc.Wb.Driver.FindElement(By.XPath($"//div[@data-did='{id}']/a"));
100-
element.Click();
101-
//dorf1.php?newdid=25270&
102-
await DriverHelper.WaitPageChange(acc, $"{id}", 0.2);
103-
return;
104-
}
105-
catch (WebDriverException e) when (e.Message.Contains("chrome not reachable") || e.Message.Contains("no such window:"))
106-
{
107-
acc.Logger.Warning($"Chrome has problem. Try reopen Chrome");
93+
acc.Wb.UpdateHtml();
94+
var node = acc.Wb.Html.DocumentNode.SelectSingleNode($"//div[@data-did='{id}']/a");
95+
if (node is null) return;
96+
97+
var element = acc.Wb.Driver.FindElement(By.XPath($"//div[@data-did='{id}']/a"));
98+
element.Click();
99+
//dorf1.php?newdid=25270&
100+
await DriverHelper.WaitPageChange(acc, $"{id}", 0.2);
101+
return;
102+
}
103+
catch (WebDriverException e) when (e.Message.Contains("chrome not reachable") || e.Message.Contains("no such window:"))
104+
{
105+
acc.Logger.Warning($"Chrome has problem. Try reopen Chrome");
108106

109-
acc.Wb.Close();
110-
await acc.Wb.Init(acc);
111-
}
112-
catch // when waitpagechange timeout
113-
{
114-
acc.Logger.Warning($"Cannot switch to village's id: {id}. Try again");
115-
}
116-
} while (true);
107+
acc.Wb.Close();
108+
await acc.Wb.Init(acc);
109+
}
110+
catch // when waitpagechange timeout
111+
{
112+
await DriverHelper.WaitPageLoaded(acc);
113+
}
117114
}
118115

119116
/// <summary>

TbsCore/Tasks/LowLevel/UpgradeBuilding.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,10 @@ public override async Task<TaskRes> Execute(Account acc)
7575
}
7676

7777
await NavigationHelper.EnterBuilding(acc, Vill, (int)_buildingTask.BuildingId);
78-
await NavigationHelper.ToConstructionTab(acc, _buildingTask.Building);
78+
if (_buildingTask.ConstructNew)
79+
{
80+
await NavigationHelper.ToConstructionTab(acc, _buildingTask.Building);
81+
}
7982

8083
// find button to contruct/upgrade
8184
bool construct;

0 commit comments

Comments
 (0)