自动领店铺优惠券 修复平台服务费不显示问题

This commit is contained in:
wule committed 2026-10-22 20:07:35 +08:00
1 parent 3f3477d3f4
commit 3af9a8017a
5 files changed
+206 -118

No files matched your search

+73 -4
View File
@@ -611,7 +611,13 @@ namespace TemuKJD.ToolForms
}
}
}
var rst = await ChangeAddress(transit);
// 填地址
var rst = await ChangeAddress(transit);
// 领优惠券
await AutoGetCoupon();
IsChangeAddress = false;
}
}
@@ -654,7 +660,7 @@ namespace TemuKJD.ToolForms
while (this.Created && IsAutoBuy)
{
Thread.Sleep(100);
if (HasChangeAddress && (this.cefWebBrowser?.GetMainFrame()?.Url).ParseToString().StartsWith("https://mobile.yangkeduo.com/order_checkout.html?sku_id="))
if (!IsChangeAddress && HasChangeAddress && (this.cefWebBrowser?.GetMainFrame()?.Url).ParseToString().StartsWith("https://mobile.yangkeduo.com/order_checkout.html?sku_id="))
{
try
{
@@ -772,7 +778,7 @@ namespace TemuKJD.ToolForms
IBrowserHost host = null;
DevToolsClient client = null;
public async Task<EvaluateResponse> EvaluateJsBuyTagNameAndInnerHtml(string tagName, string innerHTML, bool isClick = false)
public async Task<EvaluateResponse> EvaluateJsBuyTagNameAndInnerHtml(string tagName, string innerHTML, bool isClick = false, bool isOuterHtml = false)
{
if (!this.Created)
throw new Exception("窗口已关闭");
@@ -796,7 +802,7 @@ namespace TemuKJD.ToolForms
var jsStr1 = @"(function() { var elements = document.getElementsByTagName('" + tagName + @"');
for (i = elements.length - 1; i >= 0; i--){
var element = elements[i];
if (element.innerHTML.indexOf('" + innerHTML + @"') >= 0) {";
if (element." + (isOuterHtml ? "outerHTML" : "innerHTML") + @".indexOf('" + innerHTML + @"') >= 0) {";
if (isClick)
jsStr1 += @"element.click();";
jsStr1 += @"
@@ -840,6 +846,69 @@ namespace TemuKJD.ToolForms
}
}
public async Task<string> AutoGetCoupon()
{
for (int i = 0; i < 10; i++)
{
Thread.Sleep(100);
if (host == null || client == null)
{
host = cefWebBrowser?.GetBrowser().GetHost();
client = cefWebBrowser?.GetDevToolsClient();
}
else
break;
}
if (host == null || client == null)
{
throw new Exception("页面加载异常");
}
// 点击领取优惠券
for (int i = 0; i < 20; i++)
{
Thread.Sleep(150);
if (!this.Created) return "窗口已关闭";
var ts1 = await EvaluateJsBuyTagNameAndInnerHtml("span", "领券可减", true);
if (ts1.Result.Value is string rstStr && rstStr == "success")
{
break;
}
}
Thread.Sleep(Randomx.GetId(200, 400));
//点击领取优惠券
for (int i = 0; i < 20; i++)
{
Thread.Sleep(150);
if (!this.Created) return "窗口已关闭";
var ts1 = await EvaluateJsBuyTagNameAndInnerHtml("div", "领取", true);
if (ts1.Result.Value is string rstStr && rstStr == "success")
{
break;
}
}
Thread.Sleep(Randomx.GetId(200, 400));
// 点击关闭
for (int i = 0; i < 20; i++)
{
Thread.Sleep(150);
if (!this.Created) return "窗口已关闭";
var ts1 = await EvaluateJsBuyTagNameAndInnerHtml("div", "aria-label=\"关闭\"", true, true);
if (ts1.Result.Value is string rstStr && rstStr == "success")
{
break;
}
}
Thread.Sleep(Randomx.GetId(200, 400));
return "";
}
/// <summary>
/// 自动填写地址
/// </summary>