{"action":"created","issue":{"url":"https://api.github.com/repos/harvard-lil/perma/issues/2017","repository_url":"https://api.github.com/repos/harvard-lil/perma","labels_url":"https://api.github.com/repos/harvard-lil/perma/issues/2017/labels{/name}","comments_url":"https://api.github.com/repos/harvard-lil/perma/issues/2017/comments","events_url":"https://api.github.com/repos/harvard-lil/perma/issues/2017/events","html_url":"https://github.com/harvard-lil/perma/pull/2017","id":228483800,"number":2017,"title":"Improve run_in_frames_recursive function","user":{"login":"jcushman","id":376272,"avatar_url":"https://avatars0.githubusercontent.com/u/376272?v=3","gravatar_id":"","url":"https://api.github.com/users/jcushman","html_url":"https://github.com/jcushman","followers_url":"https://api.github.com/users/jcushman/followers","following_url":"https://api.github.com/users/jcushman/following{/other_user}","gists_url":"https://api.github.com/users/jcushman/gists{/gist_id}","starred_url":"https://api.github.com/users/jcushman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jcushman/subscriptions","organizations_url":"https://api.github.com/users/jcushman/orgs","repos_url":"https://api.github.com/users/jcushman/repos","events_url":"https://api.github.com/users/jcushman/events{/privacy}","received_events_url":"https://api.github.com/users/jcushman/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2017-05-13T16:25:38Z","updated_at":"2017-05-15T20:11:01Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/harvard-lil/perma/pulls/2017","html_url":"https://github.com/harvard-lil/perma/pull/2017","diff_url":"https://github.com/harvard-lil/perma/pull/2017.diff","patch_url":"https://github.com/harvard-lil/perma/pull/2017.patch"},"body":"This updates the run_in_frames_recursive function to switch to frames by numeric index rather than fetching and using WebElement references. The primary advantage is we don't get expired WebElement references on pages that keep rewriting their HTML. Also saves a couple of find_element calls per recursion.\r\n\r\nOther improvements while refactoring:\r\n\r\n- Recursion is now limited to depth of 3, and 20 iframes visited overall.\r\n- Check for non-http iframes and skip.\r\n- Avoid 1 redundant tree traversal in each recursion, by putting traversal at the end of the loop instead of the beginning.\r\n\r\nOn the testing side, this pull consolidates two tests that were hitting the same nested-frame endpoint, and expands that test to look for media elements across a more complicated iframe hierarchy.\r\n\r\nUnrelatedly (except it came up while debugging), this pull req goes ahead and swallows warcprox errors in TrackingRequestHandler, since they mess with the log and don't seem to help anything."},"comment":{"url":"https://api.github.com/repos/harvard-lil/perma/issues/comments/301590367","html_url":"https://github.com/harvard-lil/perma/pull/2017#issuecomment-301590367","issue_url":"https://api.github.com/repos/harvard-lil/perma/issues/2017","id":301590367,"user":{"login":"jcushman","id":376272,"avatar_url":"https://avatars0.githubusercontent.com/u/376272?v=3","gravatar_id":"","url":"https://api.github.com/users/jcushman","html_url":"https://github.com/jcushman","followers_url":"https://api.github.com/users/jcushman/followers","following_url":"https://api.github.com/users/jcushman/following{/other_user}","gists_url":"https://api.github.com/users/jcushman/gists{/gist_id}","starred_url":"https://api.github.com/users/jcushman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jcushman/subscriptions","organizations_url":"https://api.github.com/users/jcushman/orgs","repos_url":"https://api.github.com/users/jcushman/repos","events_url":"https://api.github.com/users/jcushman/events{/privacy}","received_events_url":"https://api.github.com/users/jcushman/received_events","type":"User","site_admin":false},"created_at":"2017-05-15T20:11:01Z","updated_at":"2017-05-15T20:11:01Z","body":"Works for me! Now prints something like: \"WarcProx exception: BadStatusLine parsing response from https://beacon.krxd.net/cookie2json?callback=Krux.ns._default.kxjsonp_3pevents\""}}
{"actor":{"display_login":"jcushman"}}