【发布时间】:2019-05-14 08:46:28
【问题描述】:
实际上,我正在开发一个扩展程序,帮助在闪购期间从 Flipkart 购买产品。在产品页面上,我无法在 JavaScript 的帮助下点击“立即购买”按钮,它告诉我 undefined 这是立即购买按钮的代码:
<form><button class="_2AkmmA _2Npkh4 _2kuvG8 _7UHT_c" type="button"><span class="_279WdV"></span> <!-- -->BUY NOW</button></form>
我正在使用代码在我的 JavaScript 文件中单击此按钮
$("._2AkmmA._2Npkh4._2kuvG8._7UHT_c").click();
但是,即使我转到 the page on the site 并在控制台中执行
$("._2AkmmA._2Npkh4._2kuvG8._7UHT_c").click();
控制台显示undefined,并且不启动通过手动使用鼠标单击“立即购买”按钮启动的“立即购买”过程。在控制台中,执行
$("._2AkmmA._2Npkh4._2kuvG8._7UHT_c");
演出:
<button class="_2AkmmA _2Npkh4 _2kuvG8 _7UHT_c" type="button"><span class="_279WdV"></span> <!-- -->BUY NOW</button>
这是我希望以编程方式单击的正确按钮。请注意,尽管我使用了$(),但返回的是不是 jQuery 对象。
如果我手动单击该按钮,则会显示“立即购买”对话框。你可以去this page自己试试。
- 我不明白这里有什么问题。我的代码或其任何形式的 filpkart 网站方面的保护是否有任何问题?
【问题讨论】:
-
您的代码按预期工作。
-
您的代码没问题,可能是文档加载的问题。尝试将代码粘贴到控制台并尝试。您可能需要一个 settimeout/interval...
-
@Makyen 非常感谢您增加我关于 stackoverflow 的信息。而且您没有必要阅读该问题,请在放置任何 cmets 之前仔细阅读我已经明确提到该按钮无法通过单击给定网站链接上的 jQuery 来工作。我不认为这与 manifest.jons 文件有关
-
真的很奇怪。无论如何,当我尝试获取按钮上的功能时,我得到的代码以
return o.handleBuyNow=function(e){var t=o.props,n=t.wiggleSwatch,r=t.userState,i=t.data,s=t.location;if(e&&!a.i(E.f)(e))return!1;if("function"==typeof n)return n();o.setState({isBuying:!0});var c=h()(i,"action"),l=h()(s,"query.otracker"),u=c.params||{},d={products:y.a.getValueFromCurrentContext("products")};开头。使用$("._2AkmmA._2Npkh4._2kuvG8._7UHT_c").__reactEventHandlers$pvrhr6cl6gh;,当您在)之后键入.时,您应该会在Chrome 中看到它。看起来像 React.js,将你的标签更新为 React JS。 -
这个问题有答案吗?
标签: javascript html reactjs google-chrome-extension