Javascript 仅当站点没有按钮B时,查询选择器选择按钮A
我正在创建一个Chrome浏览器扩展,每当一些按钮出现时,它会自动单击这些按钮。我使用for the watching,它使用一个查询选择器来监视要单击的html元素Javascript 仅当站点没有按钮B时,查询选择器选择按钮A,javascript,html,jquery-selectors,Javascript,Html,Jquery Selectors,我正在创建一个Chrome浏览器扩展,每当一些按钮出现时,它会自动单击这些按钮。我使用for the watching,它使用一个查询选择器来监视要单击的html元素 var buttonA = 'a[data-test="begin-session-button"]' var buttonB = 'a[data-test="skill-header-practice-button"]' document.arrive(buttonA, function () { document.que
var buttonA = 'a[data-test="begin-session-button"]'
var buttonB = 'a[data-test="skill-header-practice-button"]'
document.arrive(buttonA, function () {
document.querySelector(buttonA).click();
});
document.arrive(buttonB, function () {
document.querySelector(buttonB).click();
});
我遇到的问题是,一些网站同时具有按钮buttonA
和buttonB
。到目前为止,两个按钮都会被点击,最后一个被点击是运气的问题
只要有一个站点有buttonA
和buttonB
,只需单击buttonA
。因此,我希望对buttonB
的查询进行如下更改:
document.arrive(buttonB + ' :not:' + buttonA, function () {
document.querySelector(buttonB).click();
});
作为Chrome浏览器控制台中的一个查询,如下所示:
document.querySelector(
'a[data-test="skill-header-practice-button] ' +
':not:a[data-test="begin-session-button"]'
)
这是错误的语法,在chrome brower控制台中不起作用。正确的语法是什么样子的?您不能这样做吗
document.arrive(buttonA, function () {
document.querySelector(buttonA).click();
});
document.arrive(buttonB, function () {
if(document.querySelector(buttonA) == null){
document.querySelector(buttonB).click();
}
});
我不能说我以前用过Arrim图书馆,所以我可能完全错了你能不能这样做
document.arrive(buttonA, function () {
document.querySelector(buttonA).click();
});
document.arrive(buttonB, function () {
if(document.querySelector(buttonA) == null){
document.querySelector(buttonB).click();
}
});
我不能说我以前使用过Arrim库,所以我可能完全错了我想这比使用复杂选择器更简单,比如(与您的代码一起工作,因为
按钮a
是全局的,请注意此变量必须可供函数访问):
我想这比使用复杂选择器更简单,比如(与您的代码一起工作,因为
buttonA
是全局的,请注意此变量必须可供函数访问):