我们从Python开源项目中,提取了以下50个代码示例,用于说明如何使用selenium.webdriver.ChromeOptions()。
def build_chrome_options(): chrome_options = webdriver.ChromeOptions() chrome_options.accept_untrusted_certs = True chrome_options.assume_untrusted_cert_issuer = True # chrome configuration # More: https://github.com/SeleniumHQ/docker-selenium/issues/89 # And: https://github.com/SeleniumHQ/docker-selenium/issues/87 chrome_options.add_argument("--no-sandbox") chrome_options.add_argument("--disable-impl-side-painting") chrome_options.add_argument("--disable-setuid-sandbox") chrome_options.add_argument("--disable-seccomp-filter-sandbox") chrome_options.add_argument("--disable-breakpad") chrome_options.add_argument("--disable-client-side-phishing-detection") chrome_options.add_argument("--disable-cast") chrome_options.add_argument("--disable-cast-streaming-hw-encoding") chrome_options.add_argument("--disable-cloud-import") chrome_options.add_argument("--disable-popup-blocking") chrome_options.add_argument("--ignore-certificate-errors") chrome_options.add_argument("--disable-session-crashed-bubble") chrome_options.add_argument("--disable-ipv6") chrome_options.add_argument("--allow-http-screen-capture") chrome_options.add_argument("--start-maximized") return chrome_options
def __init__(self, profilePath, driverPath): options = webdriver.ChromeOptions() prefs = {"profile.managed_default_content_settings.images":2} options.add_argument("user-data-dir=" + profilePath) options.add_argument("headless") options.add_argument('window-size=1920x1080') options.add_experimental_option("prefs", prefs) try: self.driver = webdriver.Chrome(executable_path=driverPath, chrome_options=options) except WebDriverException: print("failed to start driver at " + driverPath) self.inUse = True #scraper with no driver is not ready to handle new job #traceback.print_exc() self.inUse = False #if False, is ready to handle new job self.bannerClosed = False #email banner only needs to be closed on first load self.timeLimit = datetime.now() + timedelta(minutes=TIMEOUT_MINUTES)
def __init__(self, username, passwd, playground, groupname): self.playground = playground chrome_options = webdriver.ChromeOptions() #chrome_options.add_argument('--start-maximized') chrome_options.add_argument('--proxy-server=http://xx.mioffice.cn:8888') self.driver = webdriver.Chrome(chrome_options = chrome_options) driver = self.driver driver.implicitly_wait(300) # seconds driver.get('https://rankade.com/') assert 'rankade' in driver.title driver.find_element_by_css_selector("a.sign-button.sign-in-button").click() assert 'Sign in' in driver.title input = driver.find_element_by_name("email") input.send_keys(username) input = driver.find_element_by_name("password") input.send_keys(passwd) driver.find_element_by_name("submit").click() assert 'rankade' in driver.title driver.find_element_by_id("dashboardLink").click() # assert 'rankade - My dashboard' in driver.title driver.find_element_by_link_text(groupname).click()
def gethtml(zurl,str_fname): mobileEmulation = {'deviceName': 'Apple iPhone 6'} options = webdriver.ChromeOptions() options.add_experimental_option('mobileEmulation', mobileEmulation) driver = webdriver.Chrome(executable_path='chromedriver.exe', chrome_options=options) driver.get(zurl) time.sleep(5) result = [] # for i in range(0,300): #???0?20?????i? for i in range(0, 1): # ???0?3?????i? print('????' + str(i)) myscroll(driver) time.sleep(2) st=time.strftime("%Y%m%d",time.localtime()) # print(driver.page_source, file=open('itg201703.html', 'w', encoding='utf-8')) print(driver.page_source, file=open(str_fname+"-"+st+".html", 'w', encoding='utf-8')) print("?????????") print(driver.title) driver.quit()
def setup(): global browser driverPath = os.getcwd()+'/chromedriver' url = r'https://www.instagram.com/accounts/login/' chromeOptions = webdriver.ChromeOptions() #chromeOptions.binary_location='/opt/google/chrome/google-chrome' ''' #These arguments make chrome run headless.Unfortunately the chrome headless is in beta and hence considerably slow. chromeOptions.add_argument("--headless") chromeOptions.add_argument("--disable-gpu") chromeOptions.add_argument("--start-fullscreen") ''' prefs = {"profile.managed_default_content_settings.images":2} chromeOptions.add_experimental_option("prefs",prefs) print('reached 1') browser = webdriver.Chrome(driverPath,chrome_options=chromeOptions) print('reached') #browser.set_window_position(-10000000, 0) #move chrome away from view print('Fetching login page..') browser.get(url) print('reached login page')
def strat_isml(thread): uaList = [] for line in open('Base_Data\\ualist.txt'): uaList.append(line[:-1]) open('Base_Data\\ualist.txt').close() i = random.choice(uaList) option = webdriver.ChromeOptions() option.add_argument('--user-agent={}'.format(i)) option.add_argument('--profile-directory=Default') option.add_argument('--user-data-dir=c:\\Users\\{}'.format(thread)) with open("Base_Data\\ChromeOptions.txt") as a: for line in a: option.add_argument(line) path1 = 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe' path2 = 'C:\\Program Files\\Google\\Chrome\\Application\\chromedriver.exe' try: dr = webdriver.Chrome(path1,chrome_options=option) except: dr = webdriver.Chrome(path2,chrome_options=option) return dr,uaList
def netease(): options = webdriver.ChromeOptions() options.add_argument( '--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36') driver = webdriver.Chrome(executable_path=r'C:\software\chrome\chromedriver.exe', chrome_options=options) driver.implicitly_wait(40) driver.get("http://30daydo.com/") elem_user = driver.find_element_by_tag_name("??") elem_user.click() '''' elem_pwd = driver.find_element_by_name("password") elem_pwd.send_keys("123456") elem_pwd.send_keys(Keys.RETURN) ''' time.sleep(5) assert "baidu" in driver.title driver.close() driver.quit()
def key_operation(): # ???? options = webdriver.ChromeOptions() options.add_argument( '--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36') browser = webdriver.Chrome(executable_path=r'C:\software\chrome\chromedriver.exe', chrome_options=options) # browser.implicitly_wait(60) browser.get('https://m.fang.com/fangjia/sz_list_pinggu/') #browser.send_keys(Keys.DOWN) count=0 while count<190: browser.find_element_by_xpath("//body[@class='whitebg']").send_keys(Keys.PAGE_DOWN) time.sleep(5) count=count+1 raw_input('enter')
def takeSnapshot(report_name, root_path, script_name=None, *args, **kwargs): """ """ options = webdriver.ChromeOptions() options.add_argument("headless") driver = webdriver.Chrome(os.path.join(root_path, 'system', 'webDrivers', 'chromedriver'), chrome_options=options) if not script_name: script_name = report_name url_str = url_for('ares.run_report', report_name=report_name, script_name=script_name, **kwargs) if report_name.startswith('_'): report_dir = os.path.join(root_path, config.ARES_FOLDER, 'reports', report_name) if report_name == '_AresTemplates': url_str = url_for('ares.run_template', template=script_name) else: report_dir = os.path.join(root_path, config.ARES_USERS_LOCATION, report_name) driver.get(url_str) driver.save_screenshot(os.path.join(report_dir, '%s.png' % script_name )) driver.quit()
def _process_chrome_options(self, opts): if isinstance(opts, ChromeOptions): options = opts else: options = ChromeOptions() if 'args' in opts: for arg in opts.pop('args'): options.add_argument(arg) if 'headless' in opts: options.set_headless() if 'binary' in opts or 'binary_location' in opts: options.binary_location = opts.pop('binary') or opts.pop('binary_location') if 'debugger_address' in opts: options.debugger_address = opts.pop('debugger_address') if 'extensions' in opts: for path in opts.pop('extensions'): options.add_extension(path) if 'encoded_extensions' in opts: for string in opts.pop('encoded_extensions'): options.add_encoded_extension(string) if 'experimental_options' in opts: for name, value in opts.pop('experimental_options').items(): options.add_experimental_option(name, value) self.selenium_opts['options'] = options
def brInit(adb_crx=None): """ Initialises Selenium's webdriver (Chrome) This version uses an adblock extension to load pages faster. Download the crx file and save it in the same folder. You can use any extension you want. return: webdriver object """ if adb_crx == None: driver = driver = webdriver.Chrome() else: chop = webdriver.ChromeOptions() chop.add_extension(adb_crx) driver = webdriver.Chrome(chrome_options = chop) return driver
def test(): profile_dir = r"D:\MyChrome\Default" # ????? # "Referer": "http://weixin.sogou.com" chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--user-data-dir=" + os.path.abspath(profile_dir)) PROXY = "123.56.238.200:8123" # j = random.randint(0, len(proxys)-1) # proxy = proxys[j] chrome_options.add_argument('--proxy-server=%s' % PROXY) # chrome_options.add_extension('')??crx?? # service_args = ['--proxy=localhost:9050', '--proxy-type=socks5', ] driver = webdriver.Chrome(r'C:\Python27\chromedriver', chrome_options=chrome_options) driver.get('http://icanhazip.com') driver.refresh() print(driver.page_source) driver.quit()
def __init__(self, user, pwd, repeat, debug): self.debug = debug self.set_debug() # if self.debug = yes view procedure step by step in the browser # don't loading the images to optimize the speed of requests chromeOptions = webdriver.ChromeOptions() prefs = {"profile.managed_default_content_settings.images":2} chromeOptions.add_experimental_option("prefs",prefs) self.browser = webdriver.Chrome(chrome_options=chromeOptions) self.login(user, pwd) self.go_to_internet() i = 1 while i <= repeat: i += 1 self.go_to_service() self.confirmed() self.logout()
def get_browser(sport, debug=False): """ Use selenium and chromedriver to do our website getting. Might as well go all the way. :param debug: whether to set the browser to debug mode :param headless: go headless :return: """ chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--user-agent=%s' % USERAGENT) webdriver.DesiredCapabilities.CHROME["userAgent"] = "ignore" prefs = {"download.default_directory" : root_data_dir.format(sport=sport)} chrome_options.add_experimental_option("prefs",prefs) browser = webdriver.Chrome(chrome_options=chrome_options) browser.implicitly_wait(10) # wait up to 10s for an element if it's not instantly available return browser
def flush(browser, n): ua = DesiredCapabilities().IPHONE for i in range(n): if browser.lower() == 'firefox': driver = webdriver.Firefox() elif browser.lower() == 'chrome': options = webdriver.ChromeOptions() options.add_argument('--disable-extensions') driver = webdriver.Chrome(executable_path=driver_path + 'chromedriver.exe', chrome_options=options) elif browser.lower() == 'ie': driver = webdriver.Ie(executable_path=driver_path + 'IEDriverServer.exe') elif browser.lower() == 'phantomjs': killphantomjs() driver = webdriver.PhantomJS(executable_path=driver_path + 'phantomjs.exe', desired_capabilities=ua) driver.get('http://m.baidu.com') driver.find_element_by_id('index-kw').send_keys(random.choice(KEYWORDS), Keys.ENTER) clk(driver, url='csdn') sleep(1) print driver.find_element_by_class_name('article_t').text, print driver.find_element_by_xpath('//p[@class="date"]/i[2]').text driver.close()
def __init__(self, target, dynamic=0): self.target = target self.dynamic = dynamic self.url_set = [] # ?????? self.urls = [] # ????????? self.sitemap = [] self.q = queue.Queue(0) self.url_rule = [] self.thread_num = 4 self.header = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0'} self.chrome_options = webdriver.ChromeOptions() self.chrome_options.add_argument("--headless") self.chrome_options.add_argument("--disable-gpu") self.chrome_options.add_argument("--window-size=1920x1080") self.chrome_options.add_argument("--disable-xss-auditor") # ???? chrome_prefs = {} chrome_prefs["profile.default_content_settings"] = {"images": 2} self.chrome_options.experimental_options["prefs"] = chrome_prefs
def __init__(self, targets): self.targets = targets self.target = '' self.chrome_options = webdriver.ChromeOptions() self.chrome_options.add_argument("--headless") self.chrome_options.add_argument("--disable-gpu") self.chrome_options.add_argument("--window-size=1920x1080") self.chrome_options.add_argument("--disable-xss-auditor") # ???? chrome_prefs = {} chrome_prefs["profile.default_content_settings"] = {"images": 2} self.chrome_options.experimental_options["prefs"] = chrome_prefs self.header = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0'} self.payloads = ['\'"/><img src=# onerror=alert(1);>', "\'\"><body onload=alert(1)>", "/></script><ScRiPt>alert(1);<ScRiPt><!--"]
def setUp(self): chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--headless') self.page = MyPage(browser=webdriver.Chrome(chrome_options=chrome_options)) self.page.browser.get('http://localhost:3000')
def setUp(self): chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--headless') self.page = MyPage(browser=webdriver.Chrome(chrome_options=chrome_options)) self.page.browser.get('http://localhost:3000') self.page.browser.set_window_size(800, 600)
def _get_Chrome(self): try: chrome_ops = webdriver.ChromeOptions() if self.proxy: chrome_ops = webdriver.ChromeOptions() chrome_ops.add_argument( '--proxy-server={}://{}:{}'.format( self.proxy.proto, self.proxy.host, self.proxy.port ) ) self.webdriver = webdriver.Chrome( executable_path=self.config['executable_path'], chrome_options=chrome_ops ) chrome_ops.add_argument('--no-sandbox') chrome_ops.add_argument('--start-maximized') chrome_ops.add_argument( '--window-position={},{}'.format( randint(10, 30), randint(10, 30) ) ) chrome_ops.add_argument( '--window-size={},{}'.format( randint(800, 1024), randint(600, 900) ) ) self.webdriver = webdriver.Chrome( executable_path=self.config['executable_path'], chrome_options=chrome_ops ) return True except WebDriverException: raise return False
def configure_browser(options): logging.info("Configuring browser") opts = webdriver.ChromeOptions() # Chrome user agent will download files for us #opts.add_argument("user-agent=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36") # This user agent will give us files w. download info opts.add_argument("user-agent=Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko") chromePrefs = { "profile.default_content_settings.popups":"0", "download.default_directory":options.dw_dir} opts.add_experimental_option("prefs", chromePrefs) if sys.platform == 'win32': chromedriver_path = "chromedriver.exe" else: chromedriver_path = "./chromedriver" logging.info("Starting browser") driver = webdriver.Chrome(chrome_options=opts, executable_path=chromedriver_path) return driver
def chrome_driver(): options = webdriver.ChromeOptions() options.add_argument('--ignore-certificate-errors') return webdriver.Chrome(chrome_options=options)
def __init__(self, mute_audio): options = webdriver.ChromeOptions() # FM detects useragent and says 403 as return # so we just define valid useragent options.add_argument("--user-agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'") options.add_argument("--headless") options.add_argument("--disable-gpu") options.add_argument("--window-size=1920x1080") if mute_audio: options.add_argument("--mute-audio") self.browser = webdriver.Chrome(chrome_options=options)
def runDelete(self): self.statusBarSignal.emit("Lösche Reservierungen...") options = webdriver.ChromeOptions() if self.settings.value('chrome/headless', True, bool): options.add_argument('--headless') try: self.driver = Remote('http://localhost:9515', desired_capabilities=options.to_capabilities()) except Exception as e: QtWidgets.QMessageBox.critical(self, QtWidgets.qApp.tr("Keine Verbindung zu Google Chrome!"), QtWidgets.qApp.tr( "Es konnte keine Verbindung zu Google Chrome hergestellt werden! " "Bitte stelle sicher, dass alle Systemvoraussetzungen erfüllt sind.\n\n" "Fehler:\n" + str(e)), QtWidgets.QMessageBox.Cancel) return self.driver.get(self.baseUrl) for cookie in self.cookies: self.driver.add_cookie(cookie) for match in self.selected: match = self.insertMafoId(match) self.delete(match) self.markRowAsReserved(match, 0) self.loggerSignal.emit('%s Reservierungen erfolgreich gelöscht.' % len(self.selected) ) self.driver.close()
def run(self): self.loggerSignal.emit("Initialisiere Browser...") options = webdriver.ChromeOptions() if self.settings.value('chrome/headless', True, bool): options.add_argument('--headless') try: self.driver = Remote('http://localhost:9515', desired_capabilities=options.to_capabilities()) except Exception as e: QtWidgets.QMessageBox.critical(self, QtWidgets.qApp.tr("Keine Verbindung zu Google Chrome!"), QtWidgets.qApp.tr( "Es konnte keine Verbindung zu Google Chrome hergestellt werden! " "Bitte stelle sicher, dass alle Systemvoraussetzungen erfüllt sind.\n\n" "Fehler:\n" + str(e)), QtWidgets.QMessageBox.Cancel) return self.driver.get(self.baseUrl) for cookie in self.cookies: self.driver.add_cookie(cookie) self.createGalery() self.loggerSignal.emit('Galerie erfolgreich erstellt.') self.driver.close()
def get_chrome_options() -> webdriver.ChromeOptions: """Get default chrome options.""" chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('--headless') chrome_options.add_argument('--disable-gpu') # need for headless if 'TRAVIS'in os.environ: chrome_options.add_argument('--no-sandbox') return chrome_options
def anjuke(): client=pymongo.MongoClient('127.0.0.1',27017) db=client['test'] collection=db['anjuke_selenium'] options = webdriver.ChromeOptions() options.add_argument( '--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36') options.add_argument('--headless') options.add_argument('--disable-gpu') browser = webdriver.Chrome(executable_path=r'C:\software\chrome\chromedriver.exe', chrome_options=options) browser.implicitly_wait(30) for i in range(1,101): browser = webdriver.Chrome(executable_path=r'C:\software\chrome\chromedriver.exe', chrome_options=options) browser.get('https://shenzhen.anjuke.com/community/p%d/' %i) l = browser.find_elements_by_xpath('//div[@_soj="xqlb"]') print len(l) for i in l: item = dict() item['name']=i.find_element_by_xpath('.//div[@class="li-info"]/h3/a').text item['url']=i.find_element_by_xpath('.//div[@class="li-info"]/h3/a').get_attribute('href') item['location']=i.find_element_by_xpath('.//div[@class="li-info"]/address').text item['building_date']=i.find_element_by_xpath('.//div[@class="li-info"]/p').text item['price']= i.find_element_by_xpath('.//div[@class="li-side"]/p/strong').text #print item collection.insert(item) browser.close()
def template(): options = webdriver.ChromeOptions() options.add_argument( '--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36') driver = webdriver.Chrome(executable_path=r'C:\software\chrome\chromedriver.exe', chrome_options=options) driver.implicitly_wait(40)
def chrome_driver(): """Set up chrome driver.""" options = webdriver.ChromeOptions() if platform == 'darwin': options.binary_location = '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome' else: options.binary_location = '/usr/bin/google-chrome-stable' options.add_argument('headless') options.add_argument('window-size=1200x800') driver = webdriver.Chrome(chrome_options=options) yield driver driver.quit()
def get_driver(cls): """Setup a Chrome webdriver""" options = webdriver.ChromeOptions() options.add_argument('headless') cls.set_driver_options(options) try: driver = webdriver.Chrome('./node_modules/.bin/chromedriver', chrome_options=options) except WebDriverException: raise unittest.SkipTest('Not able to start Chrome driver.') return driver
def initialize_local_chrome(): options = webdriver.ChromeOptions() options.binary_location = '/home/jdanek/.nix-profile/bin/google-chrome-stable' driver = webdriver.Chrome(chrome_options=options) return driver
def getChromeBrowser(): myProxy= 'proxy.abuyun.com:9020' option = webdriver.ChromeOptions() option.add_argument('--user-data-dir=C:\Users\LZ\AppData\Local\Google\Chrome\User Data\Default') #???????????? option.add_argument('--proxy-server=%s' % myProxy) browser = webdriver.Chrome(executable_path="chromedriver", chrome_options=option) return browser
def openBrower(): print("?????...") # driver = webdriver.Firefox() # driver = webdriver.Ie() options = webdriver.ChromeOptions() options.add_experimental_option("excludeSwitches", ["ignore-certificate-errors"]) driver = webdriver.Chrome(chrome_options=options) # driver = webdriver.Chrome() return driver
def __init__(self): # ?????? options = webdriver.ChromeOptions() prefs = {"profile.managed_default_content_settings.images": 2} options.add_experimental_option("prefs", prefs) if platform.system() == 'Darwin': executable_path = '{0}/{1}'.format(current_config.PROJ_PATH, 'chromedriver') else: executable_path = 'chromedriver.exe' self.driver = webdriver.Chrome(executable_path=executable_path, chrome_options=options) self.driver.implicitly_wait(current_config['TIME_OUT']) self.driver.set_window_size(1440, 900)
def setUpClass(cls): if sys.platform == 'win32': cls.browser = webdriver.Firefox() else: options = webdriver.ChromeOptions() options.add_argument('headless') options.add_argument('disable-gpu') cls.browser = webdriver.Chrome(chrome_options=options) cls.browser.get('http://127.0.0.1:5555') cls.stdin = cls.browser.find_element_by_id('stdin') cls.send_btn = cls.browser.find_element_by_id('send_btn')
def get_chrome(): profile_dir=r"C:\Users\junyu\AppData\Local\Google\Chrome\User Data" options = webdriver.ChromeOptions() #options.add_argument("user-data-dir="+os.path.abspath(profile_dir)) options.add_experimental_option("excludeSwitches", ["ignore-certificate-errors"]) return webdriver.Chrome('G:/lessUsedTools/browser/chrome/chromedriver.exe',chrome_options=options)
def download_articles_chrome(self, url): # service_args = ['--load-images=no', ] profile_dir = r"D:\MyChrome\Default" chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--user-data-dir=" + os.path.abspath(profile_dir)) # PROXY = "123.56.238.200:8123" # # j = random.randint(0, len(proxys)-1) # # proxy = proxys[j] # chrome_options.add_argument('--proxy-server=%s' % PROXY) # chrome_options.add_extension('')??crx?? # service_args = ['--proxy=localhost:9050', '--proxy-type=socks5', '--load-images=no', ] try: driver = webdriver.Chrome(r'C:\Python27\chromedriver', chrome_options=chrome_options) except Exception as e: print(datetime.datetime.now()) print(url) print(e) else: try: driver.set_page_load_timeout(30) driver.get(url) driver.implicitly_wait(2) html = driver.page_source return html except: print(datetime.datetime.now()) print(url) # selenium.common.exceptions.TimeoutException: # return self.download_acticles(url) return None finally: driver.quit()
def get_browser(): chromedriver = os.path.join(needl.args.datadir, 'chromedriver') if not os.path.exists(chromedriver): raise FileNotFoundError("Could not find chromedriver executable at %s. Download it for your platform at https://chromedriver.storage.googleapis.com/index.html?path=2.33/", chromedriver) chrome_options = webdriver.ChromeOptions() chrome_options.add_argument('headless') chrome_options.add_argument('window-size=1024x3000') chrome_options.add_argument("user-agent=" + get_line(os.path.join(needl.args.datadir, 'user-agents.txt'))) return webdriver.Chrome(executable_path=chromedriver, chrome_options=chrome_options)
def __init__(self, username: str, password: str): """ This method sets up scraper, and logs in to Its Learning. It enables the other methods to scrap content, like calendar feed, exercises and course list. :param username: FEIDE-username :param password: FEIDE-password """ self.username = username self.password = password # Initializes the correct version of chromedriver with regards to OS driver_directory = os.path.dirname(__file__) if platform.system() == "Windows": relative_path = "chromedriver.exe" else: relative_path = "chromedriver" absolute_file_path = os.path.join(driver_directory, relative_path) chrome_profile = webdriver.ChromeOptions() self.driver = webdriver.Chrome(executable_path=absolute_file_path) self.driver.get("http://www.ilearn.sexy") # Shortcut to itslearning # logs into Its Learning. After this the "driver" contains the main page in Its Learning username_field = self.driver.find_element_by_name("feidename") username_field.send_keys(username) password_field = self.driver.find_element_by_name("password") password_field.send_keys(password) password_field.submit()
def chrome_driver(executable_path=None, run_headless=False, load_images=True, use_proxy=None): '''Function to initialize ``selenium.webdriver.Chrome`` with extended options Args: executable_path (str): path to the chromedriver binary. If set to ``None`` selenium will serach for ``chromedriver`` in ``$PATH``. run_headless (bool): boolean flag that indicates if chromedriver has to be headless (without GUI). load_images (bool): boolean flag that indicates if Chrome has to render images. use_proxy (str): use http proxy in <host:port> format. Returns: selenium.webdriver.Chrome: created driver. Note: In order to create Chrome driver Selenium requires `Chrome <https://www.google.com/chrome/browser/desktop/index.html>`_ to be installed and `chromedriver <https://sites.google.com/a/chromium.org/chromedriver/>`_ to be downloaded. Warning: Headless Chrome is shipping in Chrome 59 and in Chrome 60 for Windows. Update your Chrome browser if you want to use ``headless`` option. ''' chrome_options = webdriver.ChromeOptions() if run_headless: chrome_options.add_argument('headless') if not load_images: prefs = {'profile.managed_default_content_settings.images': 2} chrome_options.add_experimental_option('prefs', prefs) if use_proxy: chrome_options.add_argument('proxy-server=' + use_proxy) if executable_path: driver = webdriver.Chrome(chrome_options=chrome_options, executable_path=executable_path) else: driver = webdriver.Chrome(chrome_options=chrome_options) return driver
def __init__(self): self.cookies = None path = "C:\Program Files (x86)\Google\Chrome\chromedriver.exe" chrome_options = webdriver.ChromeOptions() chrome_options.add_argument("--incognito") self.driver = webdriver.Chrome(service_args=['--load-images=no'], executable_path=path, chrome_options=chrome_options) self.action = ActionChains(self.driver) self.retry_login()
def __init__(self, debug=False, chrome=False, cookie_path=None, log_path=None, db_path=None, exclude=None): options = webdriver.ChromeOptions() options.add_argument('headless') options.add_argument('--window-size=900,768') self.browser = webdriver.Chrome(chrome_options=options) self.browser.implicitly_wait(10) self.cookie_path = cookie_path self.exclude = exclude or [] self.chrome = chrome self.logger = Logger(log_path, debug) self.db = BrowserDB(self.logger, db_path)
def setUp(self): self.app = self.create_app() options = webdriver.ChromeOptions() options.add_argument('headless') options.add_argument('disable-gpu') self.browser = webdriver.Chrome(options=options) self.browser.implicitly_wait(3)
def __init__(self): self.url = 'https://www.facebook.com' chrome_options = webdriver.ChromeOptions() prefs = {"profile.default_content_setting_values.notifications": 2} chrome_options.add_experimental_option("prefs", prefs) self.driver = webdriver.Chrome(chrome_options=chrome_options)#,'__path__' maybe required for Windows self.driver.get(self.url)
def __init__(self): self.url = 'https://www.facebook.com' chrome_options = webdriver.ChromeOptions() prefs = {"profile.default_content_setting_values.notifications": 2} chrome_options.add_experimental_option("prefs", prefs) self.driver = webdriver.Chrome(chrome_options=chrome_options) self.driver.maximize_window() self.driver.get(self.url)