FiltersHeroes/PolishCookieConsent

clickCompleteText nie klika na forum.dobreprogramy.pl

krystian3w opened this issue · 2 comments

https://github.com/PolishFiltersTeam/PolishCookieConsent/blob/5d21c3af6d4abf027330e6cb6577d658f1ed3891/src/content.js#L168

A kod @Kiboke po 6 sekundach daje radę:

function _parent(e)
{
	if (e && e.parentNode)
		return e.parentNode;
	
	return false;
}

function _id(s)
{
	return document.getElementById(s);
}

function _sl(s, c)
{
	return (c || document).querySelector(s);
}

function _ev(s, c)
{
	return document.evaluate("//"+s, c || document, null, XPathResult.ANY_TYPE, null).iterateNext();
}


function getE(h)
{
	switch (h)
	{
		case 'forum.dobreprogramy.pl':
			return _ev("button[contains(., 'PRZECHODZ')]");
	}
	
	
	var parts = h.split('.');
	
	if (parts.length > 2)
	{
		parts.shift();
		return getE(parts.join('.'));
	}
	
	return false;
}


// Search loop function

function searchLoop(counter, host) {
	setTimeout(function() {
		var e = getE(host);
		
		if (e)
			e.click();
		else if (counter < 200)
			searchLoop(counter+1, host);
	}, 500);
}


// Initial timeout

setTimeout(function(){
	searchLoop(0, document.location.hostname.replace(/^w{2,3}\d*\./i, ''));
}, 500);

5830


Chyba, że ktoś wymyśli bezpieczną skryptową regułę pod forum - szybszą od :has(RODO).

kejn commented

testowałem oryginalny kod na Tampermonkey i nawet nie zdążę zobaczyć tego pop-upa z RODO.

On to ma nakombinowane, dodatkowo timeouty, ale najwyraźniej inaczej się nie da w tym przypadku.

@kejn Nasz kod? Nasz kod nie działa w tym przypadku.