gpt4 book ai didi

javascript - NightmareJS .click() 方法 - 选择器问题

转载 作者:行者123 更新时间:2023-12-03 05:36:36 24 4
gpt4 key购买 nike

尽管 .type() 工作得很好,但我无法让 nightJS 单击搜索按钮。可能是什么问题?

.type('form[action="/search/web/direct_search.php"] [class=_1frb]', string)
.click('form[action="/search/web/direct_search.php"] [type=submit]')
//.click('#js_x > form > button')
//.click('button[class="_42ft _4jy0 _4w98 _4jy3 _517h _51sy"]')

开发者工具控制台找到按钮:

 document.querySelector('form[action="/search/web/direct_search.php"] [type=submit]')
<button value=​"1" class=​"_42ft _4jy0 _4w98 _4jy3 _517h _51sy" aria-label=​"Search" tabindex=​"-1" data-testid=​"facebar_search_button" type=​"submit">​…​</button>​

稍后编辑:

好了,我的 friend ,我已经删除了导入并将所有内容放入一个文件中,我已经使用 cookie 登录,所以这是复制问题的完整代码:

var Nightmare = require('nightmare');
var nightmare = Nightmare({
show: true
});
var string = "TEST";
var search = function(string) {
return function(nightmare) {
nightmare
.goto('http://www.facebook.com')
.wait('form[action="/search/web/direct_search.php"] [class=_1frb]')
.type('form[action="/search/web/direct_search.php"] [class=_1frb]', string)
.click('form[action="/search/web/direct_search.php"] [type=submit]')
// .click('#js_x > form > button')
// .click('button[class="_42ft _4jy0 _4w98 _4jy3 _517h _51sy"]')
.wait(2000)
.screenshot('after.png')
.then(function() {
return nightmare
.wait();
})
};
};
nightmare
.useragent('...')
.use(search(string))

最佳答案

Nightmare 的 .type() 发出键盘事件。您可以使用 unicode 值“按”返回键,如下所示:.type('selector', '\u000d')。我在下面提供的示例应该可以正常工作。

var Nightmare = require('nightmare');
var nightmare = Nightmare({
show: true
});

nightmare
.goto("http://www.facebook.com")
.wait('form[action="/search/web/direct_search.php"] [class=_1frb]')
.type('form[action="/search/web/direct_search.php"] [class=_1frb]', "test\u000d")
.catch(function(error) {
console.log(error)
})

通常在 Facebook 上搜索时,建议菜单会在您键入查询时打开。按搜索按钮应该立即搜索。然而,如果你观察 Nightmare 的执行,你会发现建议菜单在输入时出现故障并关闭(这是电子浏览器的错误)。所以我相信你必须按搜索按钮两次;一次打开菜单,然后再次实际搜索。

无论哪种方式,发送返回键事件都更容易、更好。

关于javascript - NightmareJS .click() 方法 - 选择器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40707915/

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