Source Project: MPContribs Author: materialsproject File: views.py License: MIT License | 18 votes |
def get_browser():
if "browser" not in g:
options = webdriver.ChromeOptions()
options.add_argument("no-sandbox")
options.add_argument("--disable-gpu")
options.add_argument("--window-size=800,600")
options.add_argument("--disable-dev-shm-usage")
options.set_headless()
host = "chrome" if current_app.config["DEBUG"] else "127.0.0.1"
g.browser = webdriver.Remote(
command_executor=f"http://{host}:4444/wd/hub",
desired_capabilities=DesiredCapabilities.CHROME,
options=options,
)
return g.browser
Source Project: NoXss Author: lwzSoviet File: util.py License: MIT License | 12 votes |
def chrome(headless=False):
# support to get response status and headers
d = DesiredCapabilities.CHROME
d['loggingPrefs'] = {'performance': 'ALL'}
opt = webdriver.ChromeOptions()
if headless:
opt.add_argument("--headless")
opt.add_argument("--disable-xss-auditor")
opt.add_argument("--disable-web-security")
opt.add_argument("--allow-running-insecure-content")
opt.add_argument("--no-sandbox")
opt.add_argument("--disable-setuid-sandbox")
opt.add_argument("--disable-webgl")
opt.add_argument("--disable-popup-blocking")
# prefs = {"profile.managed_default_content_settings.images": 2,
# 'notifications': 2,
# }
# opt.add_experimental_option("prefs", prefs)
browser = webdriver.Chrome(options=opt,desired_capabilities=d)
browser.implicitly_wait(10)
browser.set_page_load_timeout(20)
return browser
Source Project: realbrowserlocusts Author: nickboucart File: locusts.py License: MIT License | 10 votes |
def __init__(self):
super(HeadlessChromeLocust, self).__init__()
options = webdriver.ChromeOptions()
options.add_argument('headless')
options.add_argument('window-size={}x{}'.format(
self.screen_width, self.screen_height
))
options.add_argument('disable-gpu')
if self.proxy_server:
_LOGGER.info('Using proxy: ' + self.proxy_server)
options.add_argument('proxy-server={}'.format(self.proxy_server))
driver = webdriver.Chrome(chrome_options=options)
_LOGGER.info('Actually trying to run headless Chrome')
self.client = RealBrowserClient(
driver,
self.timeout,
self.screen_width,
self.screen_height,
set_window=False
)
Source Project: scripts Author: KiriKira File: ipip.py License: MIT License | 10 votes |
def create_driver():
option = webdriver.ChromeOptions()
option.add_argument("--headless")
option.add_argument("--host-resolver-rules=MAP www.google-analytics.com 127.0.0.1")
option.add_argument('user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36')
return webdriver.Chrome(options=option)
Source Project: king-bot Author: breuerfelix File: custom_driver.py License: MIT License | 9 votes |
def headless(self, path: str, proxy: str = "") -> None:
ua = UserAgent()
userAgent = ua.random
options = webdriver.ChromeOptions()
options.add_argument("headless")
options.add_argument("window-size=1500,1200")
options.add_argument("no-sandbox")
options.add_argument("disable-dev-shm-usage")
options.add_argument("disable-gpu")
options.add_argument("log-level=3")
options.add_argument(f"user-agent={userAgent}")
if proxy != "":
self.proxy = True
options.add_argument("proxy-server={}".format(proxy))
self.driver = webdriver.Chrome(path, chrome_options=options)
self.set_config()
self._headless = True
Source Project: ankigenbot Author: damaru2 File: send_card.py License: GNU General Public License v3.0 | 9 votes |
def __init__(self, username, password):
self.driver = None
self.last_access = time.time()
options = webdriver.ChromeOptions()
options.add_argument("--window-size=1920x1080")
options.add_argument('--ignore-certificate-errors')
options.add_argument('--headless')
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
options.binary_location = "/usr/lib/chromium-browser/chromium-browser"
self.driver = webdriver.Chrome(chrome_options=options)
self.driver.set_window_size(1920, 1080)
self.driver.get(CardSender.url)
usr_box = self.driver.find_element_by_id('email')
usr_box.send_keys(username)
pass_box = self.driver.find_element_by_id('password')
pass_box.send_keys('{}\n'.format(password))
Source Project: wagtail-tag-manager Author: jberghoef File: fixtures.py License: BSD 3-Clause "New" or "Revised" License | 8 votes |
def driver():
options = webdriver.ChromeOptions()
options.add_argument("disable-gpu")
options.add_argument("headless")
options.add_argument("no-default-browser-check")
options.add_argument("no-first-run")
options.add_argument("no-sandbox")
d = DesiredCapabilities.CHROME
d["loggingPrefs"] = {"browser": "ALL"}
driver = webdriver.Chrome(options=options, desired_capabilities=d)
driver.implicitly_wait(30)
yield driver
driver.quit()
Source Project: python-sdk Author: kuaidaili File: selenium_chrome_http_auth.py License: BSD 2-Clause "Simplified" License | 8 votes |
def get_chromedriver(use_proxy=False, user_agent=None):
# path = os.path.dirname(os.path.abspath(__file__)) # 如果没有把chromedriver放到python\script\下,则需要指定路径
chrome_options = webdriver.ChromeOptions()
if use_proxy:
pluginfile = 'proxy_auth_plugin.zip'
with zipfile.ZipFile(pluginfile, 'w') as zp:
zp.writestr("manifest.json", manifest_json)
zp.writestr("background.js", background_js)
chrome_options.add_extension(pluginfile)
if user_agent:
chrome_options.add_argument('--user-agent=%s' % user_agent)
driver = webdriver.Chrome(
# os.path.join(path, 'chromedriver'),
chrome_options=chrome_options)
return driver
Source Project: content Author: demisto File: rasterize.py License: MIT License | 8 votes |
def init_driver(offline_mode=False):
"""
Creates headless Google Chrome Web Driver
"""
demisto.debug(f'Creating chrome driver. Mode: {"OFFLINE" if offline_mode else "ONLINE"}')
try:
chrome_options = webdriver.ChromeOptions()
for opt in merge_options(DEFAULT_CHROME_OPTIONS, USER_CHROME_OPTIONS):
chrome_options.add_argument(opt)
driver = webdriver.Chrome(options=chrome_options, service_args=[
f'--log-path={DRIVER_LOG}',
])
if offline_mode:
driver.set_network_conditions(offline=True, latency=5, throughput=500 * 1024)
except Exception as ex:
return_error(f'Unexpected exception: {ex}\nTrace:{traceback.format_exc()}')
demisto.debug('Creating chrome driver - COMPLETED')
return driver
Source Project: online-judge Author: DMOJ File: pdf_problems.py License: GNU Affero General Public License v3.0 | 7 votes |
def _make(self, debug):
options = webdriver.ChromeOptions()
options.add_argument("--headless")
options.binary_location = settings.SELENIUM_CUSTOM_CHROME_PATH
browser = webdriver.Chrome(settings.SELENIUM_CHROMEDRIVER_PATH, options=options)
browser.get('file://' + os.path.abspath(os.path.join(self.dir, 'input.html')))
self.log = self.get_log(browser)
try:
WebDriverWait(browser, 15).until(EC.presence_of_element_located((By.CLASS_NAME, 'math-loaded')))
except TimeoutException:
logger.error('PDF math rendering timed out')
self.log = self.get_log(browser) + '\nPDF math rendering timed out'
return
response = browser.execute_cdp_cmd('Page.printToPDF', self.template)
self.log = self.get_log(browser)
if not response:
return
with open(os.path.abspath(os.path.join(self.dir, 'output.pdf')), 'wb') as f:
f.write(base64.b64decode(response['data']))
self.success = True
Source Project: Python-tools Author: wolverinn File: power_views.py License: MIT License | 7 votes |
def get_page(url):
chrome_options = webdriver.ChromeOptions()
ua_argument = 'User-Agent="'+GetUserAgent()+'"'
chrome_options.add_argument(ua_argument)
chrome_options.add_argument('--headless')
chrome_options.add_argument('--disable-gpu')
chrome_options.add_argument('--incognito')
chrome_options.add_argument('log-level=3')
try:
driver = webdriver.Chrome(chrome_options=chrome_options)
#driver.set_page_load_timeout(6)
# driver.set_script_timeout(6)
driver.get(url)
# time.sleep(0.5)
driver.quit()
except:
driver.quit()
print("timeout")
Source Project: toolium Author: Telefonica File: config_driver.py License: Apache License 2.0 | 6 votes |
def _create_chrome_options(self):
"""Create and configure a chrome options object
:returns: chrome options object
"""
# Get Chrome binary
chrome_binary = self.config.get_optional('Chrome', 'binary')
# Create Chrome options
options = webdriver.ChromeOptions()
if self.config.getboolean_optional('Driver', 'headless'):
self.logger.debug("Running Chrome in headless mode")
options.add_argument('--headless')
if os.name == 'nt': # Temporarily needed if running on Windows.
options.add_argument('--disable-gpu')
if chrome_binary is not None:
options.binary_location = chrome_binary
# Add Chrome preferences, mobile emulation options and chrome arguments
self._add_chrome_options(options, 'prefs')
self._add_chrome_options(options, 'mobileEmulation')
self._add_chrome_arguments(options)
return options
Source Project: Disney-Fastpass-Bot Author: ethanbrimhall File: fastpassfinder.py License: MIT License | 6 votes |
def createChromeDriver():
print("\nOpening Chrome WebDriver...")
options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
chrome_path = credentials.path
return webdriver.Chrome(chrome_path, options=options)
#Clicks the first button on the website, the 'get started' button
Source Project: ESPN-Fantasy-Basketball Author: wcrasta File: app.py License: MIT License | 6 votes |
def run_selenium(url, is_season_data, league_id):
options = webdriver.ChromeOptions()
options.add_argument('headless')
options.add_argument('no-sandbox')
options.add_argument('disable-dev-shm-usage')
capa = DesiredCapabilities.CHROME
capa["pageLoadStrategy"] = "none"
driver = webdriver.Chrome(chrome_options=options, desired_capabilities=capa)
try:
app.logger.info('%s - Starting selenium', league_id)
driver.get(url)
app.logger.info('%s - Waiting for element to load', league_id)
# Season standings have a different URL than weekly scoreboard
if is_season_data:
WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.CLASS_NAME, 'Table2__sub-header')))
else:
WebDriverWait(driver, 30).until(EC.presence_of_element_located((By.CLASS_NAME, 'Table2__header-row')))
app.logger.info('%s - Element loaded. Sleeping started to get latest data.', league_id)
time.sleep(5)
plain_text = driver.page_source
soup = BeautifulSoup(plain_text, 'html.parser')
app.logger.info('%s - Got BeautifulSoup object', league_id)
except Exception as ex:
app.logger.error('%s - Could not get page source.', league_id, ex)
soup = None
finally:
driver.quit()
return soup
'PYTHON' 카테고리의 다른 글
Python 2.7 installing opencv via pip (virtual environment) (0) | 2021.05.10 |
---|---|
파이썬 프로그래밍 입문서 (0) | 2020.12.11 |
알파-베타 가지치기(Alpha-beta pruning) : 턴제 게임의 인공지능 (31) | 2020.12.11 |
[Python] Numpy 배열(생성, 색인, 연산 ..) (0) | 2020.12.09 |
[python] numpy array 특징과 사용법 (0) | 2020.12.09 |