提问人:xhammer 提问时间:10/28/2023 最后编辑:Andrew Mortonxhammer 更新时间:10/29/2023 访问量:34
如何使用 Javascript 扩展 Google PAA 部分?
How to use Javascript to expand Google PAA section?
问:
我想使用 javascript 从 google 的 People Also Ask 部分获取问题和答案(但在使用 executequery 的 vb.net cefsharp 浏览器中)。需要单击该部分才能展开,然后我希望从中获取问题和答案。
问题部分的 HTML 代码是这样的:
<div jsname="tJHJj" class="dnXCYb" aria-controls="_mtM8ZYO5IueaseMPheiNoAM_34" aria-expanded="false" role="button" tabindex="0" jsaction="AWEk5c">
<div jsname="lN6iy" class="JlqpRe"><span class="JCzEY ZwRhJd"><span class="CSkcDe">Does Semrush provide free certification?</span></span>
</div>
<div jsname="Q8Kwad" class="aj35ze"></div>
<div jsname="pcRaIe" class="L3Ezfd" data-ved="2ahUKEwiD7sSetpiCAxVnTWwGHQV0AzQQuk56BAgzEAI"></div>
<div jsname="gwzXIc" class="ru2Kjc" data-ved="2ahUKEwiD7sSetpiCAxVnTWwGHQV0AzQQ36YDegQIMxAD"></div>
</div>
我想单击上面的部分,以便该部分展开,然后将答案复制到其中,但我无法打开它。
我尝试了以下方法:
ChromiumWebBrowser1.ExecuteScriptAsync("document.getElementsByName('q')[0].value='semrush';document.getElementsByName('q')[0].focus();document.getElementsByName('q')[0].click();")
ChromiumWebBrowser1.ExecuteScriptAsync("document.getElementsByTagName('span')[0].click();")
'ChromiumWebBrowser1.EvaluateScriptAsync("document.querySelectorAll(""div[aria-expanded=""false""])"").forEach(button=>button.click())")
'ChromiumWebBrowser1.ExecuteScriptAsync("(function(){ document.querySelector('.div[aria-expanded=""false""])').click(); })();")
Dim qry As String = "$(document).ready(function(){
$(""[aria-expanded]"").click(); });"
ChromiumWebBrowser1.ExecuteScriptAsync(qry)
最后 4 个命令不起作用。前两个工作得很好,我也可以单击其他各种按钮,但这只是提到的部分,我无法让 JavaSscript 单击所需的部分。我认为错误在于我试图达到它的方式。
任何建议都会非常有帮助。
答: 暂无答案
评论