我正在尝试编写一个脚本,对某个帖子发表评论,然后单击“收藏此帖子”按钮,但是此按钮没有分配任何ID,我将如何单击该按钮?
我尝试了JQuery,但是没有用。
我正在尝试在FurAffinity上使用它来自动单击#include <vector>
#include <iostream>
#define rep(i,n) for (int i = 1; i <= n; i++)
using namespace std;
typedef long long int ll;
typedef vector<vector<ll> > matrix;
const ll mod = 1000000000;
matrix mul(matrix A,matrix B,int k){
matrix c(k+1,vector<ll>(k+1));
for(int i=1;i<=k;i++){
for(int j=1;j<=k;j++){
for(int l=1;l<=k;l++){
c[i][j]=(c[i][j]+(A[i][l]*B[l][j]))%mod;
}
}
}
return c;
}
matrix pow(matrix A,int p,int k){
if(p==1)
return A;
if(p%2){
return mul(A,pow(A,p-1,k),k);
}
matrix X=pow(A, p/2,k);
return mul(X,X,k);
}
int fib(int N,vector<ll>b1,vector<ll>c1,int k){
vector<ll>bb(k+1);
rep(i,k){
bb[i]=b1[i];
}
matrix T(k+1,vector<ll>(k+1));
for(int y=1;y<=k;y++){
for(int u=1;u<=k;u++){
if(y+1==u)
T[y][u]=1;
}
}
rep(i,k){
int y=c1.back();
c1.pop_back();
T[k][i]=y;
}
if(N<k){
cout<<b1[N]<<endl;
return 0;
}
T=pow(T,N-1,k);
ll res=0;
for(int i=1;i<=k;i++)
res=(res+T[1][i]*bb[i])%mod;
cout<<res<<endl;
}
int main(){
int cas,k,b,c,n;
cin>>cas;
rep(i,cas)
{
cin>>k;
vector<ll>b1(k+1);
vector<ll>c2(k+1);
rep(j,k){
cin>>b;
b1[j]=b;
}
rep(o,k){
cin>>c;
c2[o]=c;
}
cin>>n;
fib(n,b1,c2,k);
}
}
元素,而没有任何种类的标识符。当我检查与开发元素。 Google上的选项表明该名称存在,只是将其设置为空白,所以我无法使用JQuery进行选择。
网站代码的片段示例。我想使用一个单独的按钮,通过使用Tampermonkey,单击出现在页面其他位置的“ +添加到收藏夹”文本。
我不知道如何仅使用元素的InnerHTML来查找元素。 <a>
标签没有名称,ID或类,里面只有一个href和一些文本。
<a>
答案 0 :(得分:0)
假设您打算在stackoverflow上使用它,则“收藏此帖子”按钮具有可唯一标识它的类。
document.querySelector('.js-favorite-btn').click();
如果您是指其他具有类似按钮的网站,请同样检查是否可以查询选择的唯一类,名称甚至属性(例如自定义data-x属性)。
最后,作为最后的选择,您可以使用
之类的东西在查询选择器中遍历dom。 document.querySelector('#mainbar > .question div.post-layout button').click();
答案 1 :(得分:0)
根据您的示例代码,您想要找到此元素:
<a href="/fav/33151503/?key=37dfe6a83f38f48790a6551921ddb13850e2c6a0">+Add to Favorites</a>
假设这样的链接只有1个,并且它的/fav/
中始终有href
document.querySelector('a[href*="/fav/"]').click();
如有必要,可以对上面的内容进行进一步的微调,但这应该可以使您有所了解。