gpt4 book ai didi

javascript - 使用 CasperJS 和 PhantomJS 抓取 Google 关键字工具

转载 作者:行者123 更新时间:2023-12-02 23:44:26 25 4
gpt4 key购买 nike

我目前正在尝试使用 CasperJS 抓取 Google 关键字工具和 PhantomJS(都是优秀的工具,感谢 n1k0 和 Ariya),但我无法让它工作。

这是我当前的流程:

  1. 使用我的 Google 帐户登录(以避免关键字工具中出现验证码)。
  2. 导航至“关键字工具”页面。
  3. 填写搜索表格并按Search .

我陷入了第 3 步:搜索表单不是常规 HTML 表单,我无法使用 Casper#fill() ,所以我直接访问这些字段。以下是我尝试更改 Word or phrase 的值的一些语法字段:

this.evaluate(function() {

// Trying to change the value...
document.querySelector('textarea.sP3.sBFB').value = 'MY SUPER KEYWORDS';
document.querySelector('textarea.sP3.sBFB').setAttribute('value', 'MY SUPER KEYWORDS');
document.querySelector('textarea').value = 'MY SUPER KEYWORDS'; // there's only one <textarea> on the page

// Trying to change other attributes...
document.querySelector('textarea.sP3.sBFB').textContent = 'MY SUPER KEYWORDS';
document.querySelector('textarea').style.backgroundColor = 'yellow';
});

没有任何效果。我正在做一个Casper#capture()之后查看该字段包含的内容。 As you can see ,它确认我位于正确的页面并且我已登录,但 <textarea>为空。

奇怪的是,我可以访问 DOM 的其他部分:我可以更改 Advanced Options and Filters 链接的文本。至___VINCE SAYS HELLO___ (请参阅捕获),通过执​​行以下操作:

this.evaluate(function() {
document.querySelector('a.sLAB').textContent = '___VINCE SAYS HELLO___';
});
PS。我知道抓取 Google 关键字工具违反了 TOS,但我认为任何试图抓取 JavaScript/Ajax 网站的人可能会对这个问题感兴趣。

最佳答案

document.querySelector('textarea.sP3.sBFB').value = 'MY SUPER KEYWORDS';

您不能在文本区域上使用elt.value。您尝试过 elt.textContent 吗?

关于javascript - 使用 CasperJS 和 PhantomJS 抓取 Google 关键字工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9391943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com