simpleclicks - only click if element is visible, fixes spinning on moma.org sites

This commit is contained in:
Noah Levitt 2017-01-12 23:23:46 -08:00
parent 38d9eee68d
commit 766441e65c
2 changed files with 13 additions and 5 deletions

View File

@ -22,6 +22,13 @@ var umbraBehavior = {
idleSince : null,
alreadyClicked : {},
// https://github.com/jquery/jquery/blob/master/src/css/hiddenVisibleSelectors.js
// n.b. returns true for elements with visibility:hidden, which occupy
// screen real estate but are not visible, or clickable with the ui
isVisible : function(elem) {
return !!(elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length);
},
intervalFunc : function() {
var clickedSomething = false;
var somethingLeftBelow = false;
@ -38,10 +45,11 @@ var umbraBehavior = {
}
for (var j = 0; j < documents.length; j++) {
var clickTargets = documents[j].querySelectorAll(cssSelector);
for ( var i = 0; i < clickTargets.length; i++) {
if (!this.isVisible(clickTargets[i])) {
continue;
}
if (clickTargets[i].umbraClicked && !clickUntilTimeout) {
continue;
}

View File

@ -32,7 +32,7 @@ def find_package_data(package):
setuptools.setup(
name='brozzler',
version='1.1b9.dev164',
version='1.1b9.dev165',
description='Distributed web crawling with browsers',
url='https://github.com/internetarchive/brozzler',
author='Noah Levitt',