自动领店铺优惠券 修复平台服务费不显示问题
This commit is contained in:
1 parent
3f3477d3f4
commit
3af9a8017a
5 files changed
+206
-118
No files matched your search
@@ -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>
|
||||
|
||||
Reference in new issue
Block a user