我正在设计一个简单的facebook poke bot,但我想要它
只返回选定的用户。
这是我的代码:
var PokeTo = ["Mark Zen", "Kornel Zaminski"];
var interval = 1000; //1 second
var selector = "a:contains(";
var selector2 = ")";
if (window.location.href.indexOf("/pokes/") > -1) {
$(document).ready(function()
{
window.setInterval(function(){
PokeTo.forEach(function(name)
{
if($(selector+name+selector2).length)
{
var parentDiv = $(selector+name+selector2).first().parent().parent().parent().parent().parent();
var target = parentDiv.children().first().children().children().first();
target.click();
}
});
}, interval);
});
}
现在可以正确找到元素,但.click()方法似乎什么都不做。
我注意到facebook使用了ajax,但是它阻止了.click请求吗?
我也注意到其他人使用.click()方法没有问题,所以我不确定为什么我的工作不正常
谢谢你的帮助。
此外,如果这有帮助,我使用此脚本注入器:https://chrome.google.com/webstore/detail/custom-javascript-for-web/poakhlngfciodnhlhhgnaaelnpjljija
答案 0 :(得分:0)
通过阅读你的代码我真的不明白你在那里尝试做什么。
我的回答是看看用于处理Facebook功能的FB Javascript SDK。 Facebook SDK for JavaScript with jQuery
答案 1 :(得分:0)
我认为语句base_names <- na.omit(unique(stringr::str_extract(c(names(DF1), names(DF2)), ".+(?=_levels$)")))
base_names
#[1] "d1" "d2" "d3"
可能存在一些错误。尝试使用result <- as.data.frame(
setNames(
lapply(base_names, function(x) {
reorder(factor(DF2[[paste0(x, "_labels")]]), DF1[[paste0(x, "_levels")]])
}), base_names
)
)
result
# d1 d2 d3
#1 boy east <3kg
#2 dont know south 3kg
#3 girl east >3kg
#4 boy east 3kg
str(result)
#'data.frame': 4 obs. of 3 variables:
# $ d1: Factor w/ 3 levels "dont know","girl",..: 3 1 2 3
# ..- attr(*, "scores")= num [1:3(1d)] 2 0 1
# .. ..- attr(*, "dimnames")=List of 1
# .. .. ..$ : chr "boy" "dont know" "girl"
# $ d2: Factor w/ 2 levels "south","east": 2 1 2 2
# ..- attr(*, "scores")= num [1:2(1d)] 2 1
# .. ..- attr(*, "dimnames")=List of 1
# .. .. ..$ : chr "east" "south"
# $ d3: Factor w/ 3 levels "<3kg",">3kg",..: 1 3 2 3
# ..- attr(*, "scores")= num [1:3(1d)] 0 1 2
# .. ..- attr(*, "dimnames")=List of 1
# .. .. ..$ : chr "<3kg" ">3kg" "3kg"
。这应该有用。
答案 2 :(得分:0)
使用jQuery trigger
方法代替click
。
target.trigger('click')
确保target
是jQuery对象。