def _init_browser(self):
''' Setup selenium browser. Uses default path location
if none is specified. Returns browser object or
None if it fails.'''
# User Agent
uas = [
"Mozilla/5.0 (Windows NT 6.1; rv:31.0) Gecko/20100101 Firefox/31.0",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36",
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36",
"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36",
]
ua = random.choice(uas)
## PhantomJS Binary files
phantoms = config.PHANTOM_PATH
phantompath = random.choice(phantoms)
# Custom user agent
dc = dict(DesiredCapabilities.PHANTOMJS)
dc["phantomjs.page.settings.userAgent"] = ua
#dc["pages.settings.XSSAuditEnabled"] = "true"
try:
browser = webdriver.PhantomJS(
phantompath,
service_args=self.service_args,
desired_capabilities=dc
)
except WebDriverException as err:
logging.error("Could not create browser. Check path")
logging.error(err)
return None
except:
logging.error("Major problem with webdriver. "
"Could be related to performance."
"Decrease the number of threads.")
return None
browser.set_page_load_timeout(45)
## DELETED GOOD STUFF ##
return browser
评论列表
文章目录