def collect(self, industry): driver = browser.Browser() driver.yandexLogin(self.__login, self.__password) sn = self.getSubniches(industry) print('collect from', industry) for ID, name in sn: try: requests = driver.getRelatedRequestsFromYandex(name, count=20) except: try: print('reset driver') try: driver.close() except: pass driver = browser.Browser() driver.yandexLogin(self.__login, self.__password) requests = driver.getRelatedRequestsFromYandex( name.replace(',', ''), count=200) except Exception as e: print(e) continue for r in requests: self.addRequest(r, ID) print(industry, 'success') driver.close()
def main(argv=None): # IGNORE:C0111 '''Command line options.''' if argv is None: argv = sys.argv else: sys.argv.extend(argv) program_license = ''' Created by [email protected]''' try: parser = setup_argument_parser(program_license) args = parser.parse_args() urls = args.urls verbose = args.verbose if verbose > 0: print("Verbose mode on") driver = browser.Browser(args.browser, cache_enabled=(not args.nocache)) for url in urls: bench = benchmarks.Benchmark(driver, url, args.num_samples) url_samples = bench.samples except KeyboardInterrupt: ### handle keyboard interrupt ### try: if driver: driver.close() except Exception, ex: pass return 0
def main(): browser2 = browser.Browser('C:\\Users\\CalebsComp\\Documents\\homeworkSolver\\sample\\main.html',10) data2 = data.DataCsv("test.csv",' ','|') def f(): l = list() prompt = browser2.find_elem('prompt') l.append(prompt.text) input_box = browser2.find_elem('inputBox') input_box.send_keys('100') l.append('100') input_button = browser2.find_elem('inputButton') input_button.click() answer_label = browser2.find_elem('passLabel') l.append(answer_label.text) print(l) data2.write_new_row(l) browser2.refresh_browser() browser2.process(f) print(data2.get_rows()) data2.set_classifiers()
def getZipCode(addr1, addr2, city, state): """ returns (zip5, zip4) """ b = browser.Browser() b.open(USPS_LOOKUP_ZIP_URL) zipform = get_form(b, lambda f: f.has(name='zip')) zipform.fill_address(addr1, addr2) zipform.fill_all(city=city, state=state) try: nextpage = b.open(zipform.click()) except: print "caught an http error" print "Failed to submit form for url ", b.url, " error: ", traceback.print_exc( ) return "Failed to submit form for url " + b.url + " error: " + traceback.format_exc( ) allzips = r_zipcode.findall(b.page) if len(allzips) != 1: raise Exception('Too many zip codes found on page') zip5 = allzips[0][12:17] zip4 = allzips[0][18:] return (zip5, zip4)
def _createbrowser(self): url = os.path.join(THISPATH, "doc", "index.html") b = browser.Browser(self.notebook, url) self.browser = b help_icon = CreateMaskedBitmap( os.path.join(THISPATH, 'icons', 'help.png'), 16, 16) self.notebook.AddPage(b, "Help", True, help_icon)
def __init__(self, requestData): self._output = cStringIO.StringIO() self.env = requestData['environ'] self._requestDict = requestData self._status = 200 self._rawOutput = '' self._stdin = requestData['stdin'] self._initURI(self.env) self._initArgs(requestData) self._initHeaders() self._initCookies() self.browser = browser.Browser(self.requestHeaders.get('User-Agent')) # for convenience -- possibly expand this, possibly eliminate it self.method = self.env['REQUEST_METHOD'] # possibly this field, although harmless, should not be here, # the extraction of the port-less host should be done # in _processRequest -- CONSIDER *** fullHost = self.requestHeaders.get("Host", "") # get rid of port, it confuses matching by host colindex = fullHost.find(':') if colindex != -1: fullHost = fullHost[:colindex] self.host = fullHost
def writerep(self, i): """Looks up the right contact page and handles any simple challenges.""" b = browser.Browser() # for some forms, we just need a direct link # if i.dist in forms_with_frame: # link = forms_with_frame[i.dist] # elif i.dist in other_direct_forms: # link = other_direct_forms[i.dist] # else: #dist will end in XX unless we are testing dists = None if (i.dist[3:] != 'XX'): contact_links = [contact_congress_dict[i.dist]] print "contact_links list:", contact_links else: if DEBUG: print "Zip: %s" % i.zip5 dists = self.getWyrDistricts(i.zip5) contact_links = [contact_congress_dict[dist] for dist in dists] status = "" for (cnt, contact_link) in enumerate(contact_links): if DEBUG: print "contact_link selected: ", contact_link q = self.writerep_general(contact_link, i) status = self.getStatus(q) if status.startswith("Thank"): if dists: i.dist = dists[cnt] break if not status.startswith("Thank"): contact_link = self.getWyrContactLink(i) q = self.writerep_general(contact_link, i) return q
def __init__(self, application): print("1.0") Gtk.ApplicationWindow.__init__(self, application=application) self.builder = Gtk.Builder() self.vbox = Gtk.Box(orientation=Gtk.Orientation.VERTICAL) try: self.toolbox = Gtk.FlowBox() #self.vbox.pack_start(self.toolbox,False,True,0) print("1.1") except: pass self.navigator = navigator.NavigatorSidebar() self.browser = browser.Browser() try: self.hpaned = Gtk.Paned(orientation=Gtk.Orientation.HORIZONTAL) self.hpaned.pack1(self.navigator, False, True) self.hpaned.pack2(self.browser, True, False) self.vbox.pack_start(self.hpaned, True, True, 0) print("1.2") except: pass self.statusbar = Gtk.Statusbar() self.vbox.pack_start(self.statusbar, False, True, 0) self.set_default_size(400, 400) self.add(self.vbox) self.show_all()
def _create_browser_common(self): _br = browser.Browser() _br.set_handle_equiv(False) _br.addheaders = [( 'User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1' )] return _br
def writesenator(self, senator, i): """Looks up the right contact page and handles any simple challenges.""" b = browser.Browser() (state, link) = self.getSenatorStateAndContactLink(senator) if state == None: raise Exception("Sorry, senator " + senator + " not found") q = self.writerep_general(link, i) return q
def wrapper(*args, **kwargs): global s if not is_login(): b = browser.Browser() b.loginFgis() s = b.copyCoockie() b.closeBrowser() res = func(*args, **kwargs) return res
def reload(self): """ reloads the browser window by creating a new object """ if utilities.env == 'dev': try: importlib.reload(browser) except: pass self.browserObj = browser.Browser(self)
def auth(): """ Opens a browser window with an authenitication invitation. """ """ Returns a tuple of access_token and expires_in values. """ values = { "client_id": "4554642", "scope": ",".join(permissions), "redirect_uri": "https://oauth.vk.com/blank.html", "display": "page", "v": "5.24", "response_type": "token" } brwsr = browser.Browser(oauth_url, values) return brwsr.data
def setup_method(self, method): self.current_method = method.__name__ c = Config() self.config = c.prepare() browser_conf = self.config["browser"] self.browser = browser.Browser(browser_conf, self.config) self.driver = self.browser.driver self.verification_errors = [] self.assertions = Assertions(self.driver, self.verification_errors) if hasattr(self.browser, "proxy"): self.proxy = self.browser.proxy self._screenshot_number = 1
def write_reps_in_dists(self, i, dists): """Attempt to submit the same data to specified districts.""" b = browser.Browser() contact_links = [contact_congress_dict[dist] for dist in dists] status = "" ctr = 0 for contact_link in contact_links: if DEBUG: print "contact_link selected: ", contact_link q = self.writerep_general(contact_link, i) status = self.getStatus(q) if status.startswith("Thank"): break ctr += 1 if ctr >= len(dists): ctr = 0 return (dists[ctr], q)
def on_get(self, req, resp): """Handles GET requests""" global s res = "Well" try: b = browser.Browser() b.loginFgis() s = b.copyCoockie() b.closeBrowser() pass except Exception as o: print(o) res = o pass finally: resp.status = falcon.HTTP_200 # This is the default status resp.body = json.dumps(res, ensure_ascii=False) pass
def start(self): if self.is_WiFi(): b = browser.Browser() new_sms = b.get_new_sms() if new_sms: s = sender.Sender() s.send(new_sms) b.set_read_all() data1 = b.get_sms() f = file.File() data2 = f.read() data = self.compare(data1, data2) f.write(data)
def transfer(username, password, amount): with browser.Browser(implicit_wait=30) as b: b.get(URL) b.find_element_by_id('loginControl_UserName').send_keys(username) b.find_element_by_id('loginControl_Password').send_keys(password) b.find_element_by_id('loginControl_LoginButton').click() move_money = b.find_element_by_id('x:1096785038.11:adr:2') hover = ActionChains(b).move_to_element(move_money) hover.perform() b.find_element_by_id('x:1096785038.13:adr:2.1').click() # b.get(TRANSFER_URL) b.find_element_by_name('amount').send_keys(amount) b.find_element_by_css_selector('.btn[value="Submit"]').click() print(b.find_element_by_tag_name('p').get_attribute('innerHTML'))
def getWyrContactLink(self, i): """ Use the Find Your Rep web site to look up the rep contact link """ b = browser.Browser() b.open('http://www.house.gov/htbin/findrep?ADDRLK') f = get_form(b, lambda f: f.find_control_by_id('state')) f.fill_address(i.addr1, i.addr2) f.fill_all(city=i.city, state=i.state.upper()) nextpage = b.open(f.click()) soup = BeautifulSoup(nextpage) imageTags = soup.findAll("img", attrs={'alt': 'Go to contact form'}) if len(imageTags) > 0: fullEmailLink = imageTags[0].parent else: raise Exception( "Could not find contact email at find your rep page") print "Contact link:", fullEmailLink contactUrl = fullEmailLink['href'] return contactUrl
def getStatHistory(self, industry): driver = browser.Browser() driver.yandexLogin(self.__login, self.__password) subniches = self.getSubniches(industry) for ID, sn in subniches: rqs = self.getRequests(ID) #print(rqs) sn_history = {} for i, r in enumerate(rqs): history = driver.getStatHistory(r) if i == 0: sn_history = history else: for k, v in history.items(): sn_history[k]['absolute'] += history[k]['absolute'] for k, v in sn_history.items(): today = datetime.today().strftime('%Y-%m-%d') self.__cursor.execute( 'INSERT INTO requests_history(section, period, requests_count, status, update_date) VALUES("%s", "%s", "%s", 0, "%s");' % (sn, k, v['absolute'], today)) self.__dbase.commit()
def print_keys(): for key in cf.__dict__.keys(): print(cf.__dict__.get(key).keys()) if 'grid' in cf.__dict__.get(key).items(): print('grid in cf') if 'screenshots' in cf['sframe']: if cf['sframe']['screenshots']: print("has screenshots option") print(cf) default_browser = cf["browser"] print(default_browser) browser = browser.Browser(default_browser, cf) driver = browser.driver verification_errors = [] assertions = Assertions(driver, verification_errors) print('browser is dict') print(dir(browser)) if hasattr(browser, 'config'): print('has attr config') if hasattr(browser, 'proxy'): print('browser hasattr proxy') proxy = browser.proxy print('closing proxy') proxy.close()
def main(): search=search_input() time.sleep(1) browser.Browser(str(search))
def __init__(self, config): super(Window, self).__init__() self.currentPath = '' self._mode = "pan" self.photoList = [] self.pathList = [] self.tabClosed = False self.config = config self.image_worker = Image() #Defaults self.windowDefault = dict(self.config['windowDefault'].items()) self.propertiesDefault = dict(self.config['propertiesDefault'].items()) self.canvasDefault = dict(self.config['canvasDefault'].items()) self.chartDefault = dict(self.config['chartDefault'].items()) self.HS = int(self.windowDefault['hs']) self.VS = int(self.windowDefault['vs']) self.energy = int(self.windowDefault['energy']) self.azimuth = int(self.windowDefault['azimuth']) self.scaleBarLength = int(self.windowDefault['scalebarlength']) self.chiRange = int(self.windowDefault['chirange']) self.width = float(self.windowDefault['width']) self.widthSliderScale = int(self.windowDefault['widthsliderscale']) self.radius = int(self.windowDefault['radius']) self.radiusMaximum = int(self.windowDefault['radiusmaximum']) self.radiusSliderScale = int(self.windowDefault['radiussliderscale']) self.tiltAngle = int(self.windowDefault['tiltangle']) self.tiltAngleSliderScale = int( self.windowDefault['tiltanglesliderscale']) #Menu bar self.menu = QtWidgets.QMenuBar() self.menuFile = self.menu.addMenu("File") self.menuPreference = self.menu.addMenu("Preference") self.menu2DMap = self.menu.addMenu("Mapping") self.menuFit = self.menu.addMenu("Fit") self.menuSimulation = self.menu.addMenu("Simulation") self.menuRun = self.menu.addMenu("Run") self.menuHelp = self.menu.addMenu("Help") self.setMenuBar(self.menu) #File Menu self.openFile = self.menuFile.addAction("Open", self.manu_actions_open) self.export = self.menuFile.addMenu("Export") self.saveCanvasAsImage = self.export.addAction( "RHEED pattern as Image", self.menu_actions_save_as_image) self.saveProfileAsText = self.export.addAction( "Line profile as text", self.menu_actions_save_as_text) self.saveProfileAsImage = self.export.addAction( "Line profile as image", self.menu_actions_save_profile_as_image) self.saveProfileAsSVG = self.export.addAction( "Line profile as SVG", self.menu_actions_save_as_svg) #Preference Menu self.defaultSettings = self.menuPreference.addAction("Default Settings",\ self.menu_actions_preferences_default_settings) #2D Map Menu self.Two_Dimensional_Mapping = self.menu2DMap.addAction("Configuration", \ self.menu_actions_two_dimensional_mapping) self.Three_Dimensional_Graph = self.menu2DMap.addAction("3D Surface", \ self.menu_actions_three_dimensional_graph) #Fit Menu self.Fit_Broadening = self.menuFit.addAction( "Broadening", self.menu_actions_broadening) self.Fit_ManualFit = self.menuFit.addAction( "Manual Fit", self.menu_actions_show_manual_fit) self.Fit_Report = self.menuFit.addAction( "Generate Report", self.menu_actions_generate_report) self.gmm = self.menuFit.addAction("Gaussian Mixture Modeling", self.menu_actions_gmm) #Simulation Menu self.Statistical_Factor = self.menuSimulation.addAction( "Statistical Factor", self.menu_actions_statistical_factor) self.Diffraction_pattern = self.menuSimulation.addAction( "Diffraction Pattern", self.menu_actions_diffraction_pattern) self.Kikuchi_pattern = self.menuSimulation.addAction( "Kikuchi Pattern", self.menu_actions_kikuchi_pattern) #Run Menu self.run_scenario = self.menuRun.addAction( "Run Scenario", self.menu_action_run_scenario) #Help Menu self.about = self.menuHelp.addAction("About", self.menu_actions_about) #Center Widget self.image_crop = [ 1200 + self.VS, 2650 + self.VS, 500 + self.HS, 3100 + self.HS ] self.mainSplitter = QtWidgets.QSplitter(QtCore.Qt.Horizontal) self.mainTab = QtWidgets.QTabWidget() self.mainTab.setContentsMargins(0, 0, 0, 0) self.mainTab.setTabsClosable(True) self.controlPanelFrame = QtWidgets.QWidget(self) self.controlPanelGrid = QtWidgets.QGridLayout(self.controlPanelFrame) self.controlPanelGrid.setContentsMargins(0, 0, 0, 0) self.controlPanelSplitter = QtWidgets.QSplitter(QtCore.Qt.Vertical) supportedFormats = {'*.3fr','*.ari','*.arw','*.srf', '*.sr2','*.bay','*.cri','*.crw', '*.cr2', '*.cr3', '*.cap','*.iiq','*.eip',\ '*.dcs','*.dcr','*.drf','*.k25', '*.kdc','*.dng','*.erf','*.fff', '*.mef', '*.mdc', '*.mos','*.mrw','*.nef',\ '*.nrw','*.orf','*.pef','*.ptx', '*.pxn','*.r3d','*.raf','*.raw', '*.rw2', '*.rwl', '*.rwz','*.srw','*.x3f',\ '*.3FR','*.ARI','*.ARW','*.SRF', '*.SR2','*.BAY','*.CRI','*.CRW', '*.CR2', '*.CR3', '*.CAP','*.IIQ','*.EIP',\ '*.DCS','*.DCR','*.DRF','*.K25', '*.KDC','*.DNG','*.ERF','*.FFF', '*.MEF', '*.MDC', '*.MOS','*.MRW','*.NEF',\ '*.NRW','*.ORF','*.PEF','*.PTX', '*.PXN','*.R3D','*.RAF','*.RAW', '*.RW2', '*.RWL', '*.RWZ','*.SRW','*.X3F',\ '*.bmp','*.eps','*.gif','*.icns','*.ico','*.im', '*.jpg','*.jpeg','*.jpeg2000','*.msp', '*.pcx','*.png','*.ppm',\ '*.sgi','*.tiff','*.tif','*.xbm','*.BMP','*.EPS','*.GIF','*.ICNS','*.ICO', '*.IM', '*.JPG','*.JPEG','*.JPEG2000',\ '*.MSP','*.PCX','*.PNG','*.PPM','*.SGI','*.TIFF','*.TIF','*.XBM'} self.browser_widget = browser.Browser(self, supportedFormats) self.controlPanelBottomWidget = QtWidgets.QWidget() self.controlPanelBottomGrid = QtWidgets.QGridLayout( self.controlPanelBottomWidget) self.controlPanelBottomGrid.setContentsMargins(0, 0, 2, 0) self.properties_widget = properties.Properties(self, self.config) self.cursorInfo = cursor.Cursor(self) self.profile = profile_chart.ProfileChart(self.config) self.controlPanelBottomGrid.addWidget(self.properties_widget, 0, 0) self.controlPanelBottomGrid.addWidget(self.cursorInfo, 1, 0) self.controlPanelBottomGrid.addWidget(self.profile, 2, 0) self.controlPanelSplitter.addWidget(self.browser_widget) self.controlPanelSplitter.addWidget(self.controlPanelBottomWidget) self.controlPanelSplitter.setSizes([100, 500]) self.controlPanelSplitter.setStretchFactor(0, 1) self.controlPanelSplitter.setStretchFactor(1, 1) self.controlPanelSplitter.setCollapsible(0, False) self.controlPanelSplitter.setCollapsible(1, False) self.controlPanelGrid.addWidget(self.controlPanelSplitter, 0, 0) self.mainSplitter.addWidget(self.mainTab) self.mainSplitter.addWidget(self.controlPanelFrame) self.mainSplitter.setSizes([800, 400]) self.mainSplitter.setStretchFactor(0, 1) self.mainSplitter.setStretchFactor(1, 1) self.mainSplitter.setCollapsible(0, False) self.mainSplitter.setCollapsible(1, False) #Tool bar self.toolBar = QtWidgets.QToolBar(self) self.toolBar.setFloatable(False) self.toolBar.setMovable(False) self.open = QtWidgets.QAction(QtGui.QIcon("./icons/open.svg"), "open", self) self.saveAs = QtWidgets.QAction(QtGui.QIcon("./icons/save as.svg"), "save as", self) self.zoomIn = QtWidgets.QAction(QtGui.QIcon("./icons/zoom in.svg"), "zoom in (Ctrl + Plus)", self) self.zoomIn.setShortcut(QtGui.QKeySequence.ZoomIn) self.zoomOut = QtWidgets.QAction(QtGui.QIcon("./icons/zoom out.svg"), "zoom out (Ctrl + Minus)", self) self.zoomOut.setShortcut(QtGui.QKeySequence.ZoomOut) self.fitCanvas = QtWidgets.QAction(QtGui.QIcon("./icons/fit.svg"), "fit in view", self) self.line = QtWidgets.QAction(QtGui.QIcon("./icons/line.svg"), "line", self) self.line.setCheckable(True) self.rectangle = QtWidgets.QAction( QtGui.QIcon("./icons/rectangle.svg"), "rectangle", self) self.rectangle.setCheckable(True) self.arc = QtWidgets.QAction(QtGui.QIcon("./icons/arc.svg"), "arc", self) self.arc.setCheckable(True) self.pan = QtWidgets.QAction(QtGui.QIcon("./icons/move.svg"), "pan", self) self.pan.setCheckable(True) self.buttonModeGroup = QtWidgets.QActionGroup(self.toolBar) self.buttonModeGroup.addAction(self.line) self.buttonModeGroup.addAction(self.rectangle) self.buttonModeGroup.addAction(self.arc) self.buttonModeGroup.addAction(self.pan) self.toolBar.addAction(self.open) self.toolBar.addAction(self.saveAs) self.toolBar.addSeparator() self.toolBar.addAction(self.line) self.toolBar.addAction(self.rectangle) self.toolBar.addAction(self.arc) self.toolBar.addAction(self.pan) self.toolBar.addSeparator() self.toolBar.addAction(self.zoomIn) self.toolBar.addAction(self.zoomOut) self.toolBar.addAction(self.fitCanvas) self.addToolBar(self.toolBar) #Status bar self.statusBar = QtWidgets.QStatusBar(self) self.messageLoadingImage = QtWidgets.QLabel("Processing ... ", self) self.messageLoadingImage.setVisible(False) self.progressBar = QtWidgets.QProgressBar(self) self.progressBar.setMaximumHeight(12) self.progressBar.setVisible(False) self.progressBar.setOrientation(QtCore.Qt.Horizontal) self.progressBarSizePolicy = self.progressBar.sizePolicy() self.progressBarSizePolicy.setRetainSizeWhenHidden(True) self.progressBarSizePolicy.setHorizontalPolicy( QtWidgets.QSizePolicy.Expanding) self.progressBar.setSizePolicy(self.progressBarSizePolicy) self.editPixInfo = QtWidgets.QLabel(self) self.editPixInfo.setAlignment(QtCore.Qt.AlignRight) self.editPixInfo.setMinimumWidth(150) self.statusBar.addWidget(self.messageLoadingImage) self.statusBar.insertPermanentWidget(1, self.progressBar) self.statusBar.addPermanentWidget(self.editPixInfo) self.setStatusBar(self.statusBar) #Main Window Settings self.setCentralWidget(self.mainSplitter) self.mainSplitter.setContentsMargins(2, 2, 0, 0) self.setWindowTitle("PyRHEED") #Main Tab Connections self.mainTab.currentChanged.connect(self.switch_tab) self.mainTab.tabCloseRequested.connect(self.close_tab) #Toolbar Connections self.open.triggered.connect( lambda path: self.open_image(path=self.get_img_path())) self.line.triggered.connect( lambda cursormode: self.toggle_canvas_mode(cursormode="line")) self.rectangle.triggered.connect( lambda cursormode: self.toggle_canvas_mode(cursormode="rectangle")) self.arc.triggered.connect( lambda cursormode: self.toggle_canvas_mode(cursormode="arc")) self.pan.triggered.connect( lambda cursormode: self.toggle_canvas_mode(cursormode="pan")) #Progress Bar Connections self.PROGRESS_ADVANCE.connect(self.progress) self.PROGRESS_END.connect(self.progress_reset) #Browser Connections self.FILE_OPENED.connect(self.browser_widget.tree_update) self.IMG_CREATED.connect(self.profile.set_img) self.browser_widget.FILE_DOUBLE_CLICKED.connect(self.open_image) #Parameters Page Connections self.properties_widget.sensitivityEdit.textChanged.connect( self.check_sensitivity) self.properties_widget.energyEdit.textChanged.connect( self.change_energy) self.properties_widget.azimuthEdit.textChanged.connect( self.change_azimuth) self.properties_widget.scaleBarEdit.textChanged.connect( self.change_scale_bar) self.properties_widget.labelButton.clicked.connect(self.label_image) self.properties_widget.calibrateButton.clicked.connect( self.calibrate_image) #Image Adjust Page Connections self.properties_widget.brightnessSlider.valueChanged.connect( self.change_brightness) self.properties_widget.blackLevelSlider.valueChanged.connect( self.change_black_level) self.properties_widget.autoWBCheckBox.stateChanged.connect( self.change_auto_WB) self.properties_widget.applyButton2.clicked.connect( self.apply_image_adjusts) self.properties_widget.resetButton2.clicked.connect( self.reset_image_adjusts) #Profile Options Page Connections self.properties_widget.integralHalfWidthSlider.valueChanged.connect( self.change_width) self.properties_widget.chiRangeSlider.valueChanged.connect( self.change_chi_range) self.properties_widget.radiusSlider.valueChanged.connect( self.change_radius) self.properties_widget.tiltAngleSlider.valueChanged.connect( self.change_tilt_angle) self.properties_widget.applyButton3.clicked.connect( self.apply_profile_options) self.properties_widget.resetButton3.clicked.connect( self.reset_profile_options) #Appearance Page Connections self.profile.set_fonts( self.properties_widget.fontList.currentFont().family(), self.properties_widget.chartFontSizeSlider.value()) self.properties_widget.CHART_FONTS_CHANGED.connect( self.profile.adjust_fonts) #Cursor Information Connections self.cursorInfo.choosedXYEdit.textChanged.connect(self.edit_choosed_XY) self.cursorInfo.startXYEdit.textChanged.connect(self.edit_start_XY) self.cursorInfo.endXYEdit.textChanged.connect(self.edit_end_XY) self.cursorInfo.widthEdit.textEdited.connect(self.edit_width) #Profile Canvas Connections self.SCALE_FACTOR_CHANGED.connect(self.profile.set_scale_factor) self.profile.CHART_MOUSE_MOVEMENT.connect(self.photo_mouse_movement) #Refresh Connections self.PROPERTIES_REFRESH.connect(self.properties_widget.refresh) self.CHART_REFRESH.connect(self.profile.refresh) self.get_scale_factor() self.WINDOW_INITIALIZED.emit()
def __init__(self, master: wx.Notebook): super().__init__( parent=master, size=master.GetSize() ) self.browserObj = browser.Browser(self)
import browser browser.Browser('https://www.instagram.com')
import browser browser.Browser( "https://www.amazon.com/b?node=18637575011&pf_rd_p=76ace27d-03a4-4d19-9d26-f28f8773a65e&pf_rd_r=A3FWRTYVV7TWFFW6PMGZ" )
def writerep_general(self, contact_link, i): """ General function for filling in any form with signer data. Works for the house's WYR form or just directly on any contact page. Loops through 5 times attempting to fill in form details and clicking. Stops either when 5 loops is complete, or has achieved success, or known failure Returns the last successful page """ def get_challenge(): ''' find captchas''' labels = b.find_nodes('label', lambda x: x.get('for') == 'HIP_response') if labels: return labels[0].string def fill_inhofe_lgraham(f): """special function to fill in forms for inhofe and lgraham""" if DEBUG: print "Filling special inhofe or lgraham form" f.fill_all(A01=i.prefix, B01=i.fname, C01=i.lname, D01=i.addr1, E01=i.addr2, F01=i.city, G01=i.state, H01=i.zip5, H02=i.phone, H03=i.phone, I01=i.email, J01="Communications", K01=i.full_msg) f.fill(type='textarea', value=i.full_msg) if DEBUG: print "f filled and ready to submit: ", f def fill_form(f): ''' f is a form ''' if DEBUG: print "in fill_form, filling name" f.fill_name(i.prefix, i.fname, i.lname) if DEBUG: print "in fill_form, filling addr" f.fill_address(i.addr1, i.addr2) if DEBUG: print "in fill_form, filling phone" f.fill_phone(i.phone) if DEBUG: print "in fill_form, filling textarea" textareacontrol = f.fill(type='textarea', value=i.full_msg) if DEBUG: print 'filled textareacontrol', textareacontrol if DEBUG: print "in fill_form, filling all" if DEBUG: print "Printing all controls" for c in f.controls: if DEBUG: print "control: ", c.name, " type: ", c.type f.fill_all( city=i.city, zipcode=i.zip5, zip4=i.zip4, state=i.state.upper(), email=i.email, issue=['TECH', 'GEN', 'OTH'], subject=i.subject, reply='yes', Re='issue', #for billnelson newsletter='noAction', aff1='Unsubscribe', MessageType="Express an opinion or share your views with me") # fill in all empty radio controls empty_controls = [ c for c in f.controls if c.type == "radio" and not c.value ] for c in empty_controls: if DEBUG: print "empty ", c try: f.fill('OTH', control=c) except: if DEBUG: print "Failed to fill control %s" % c.name # Solve captchas. I included this here because it was placed here by Aaron, # but I haven't found a captcha that it works on. -NKF #challenge = get_challenge() #if challenge: # print "Found challenge!" # try: # solution = captchasolver.solve(challenge) # except Exception, detail: # print >> sys.stderr, 'Exception in CaptchaSolve', detail # print >> sys.stderr, 'Could not solve:"%s"' % challenge, if DEBUG: print "f filled and ready to submit to ", b.url, "\n", f b = browser.Browser() if DEBUG: print "In writerep_general, opening contact_link", contact_link b.open(contact_link) # max loops k = 6 # needed this from some weird error that I forgot to document. # we only want to do the WYR form once, # so it's a flag so we don't choose this one again. completedWyrForm = False for cnt in range(1, k): if DEBUG: print "Loop ", cnt, ":\n", b.url, "\n" #, b.page, "\n Done with page ", cnt, "\n\n" # check if this is a refresh page # to do: see if we can get javascript window.location refreshes # (would require some smart parsing or using a javascript interpreter module) if 'http-equiv="refresh"' in b.page: if DEBUG: print "Redirect to a new page:" r_refresh = re.compile('[Uu][Rr][Ll]=([^"]+)') newurl = r_refresh.findall(b.page)[0] newurl = newurl.replace(' ', '%20') newurl = newurl.replace('&', '&') if DEBUG: print "\nNewurl:", newurl try: b.open(newurl) continue #next loop except: print "Failed to open url ", newurl, " error: ", traceback.print_exc( ) # some pages have multiple forms on them. # For example, there may be a search tool in the sidebar. # or there may be forms which are hidden by not displayed by the css. # try to see what we can grab out the page, then we'll decide which one's the best to try textareaform = get_form( b, lambda f: f.find_control_by_type('textarea')) zipform = get_form(b, lambda f: f.has(name='zip')) verificationform = get_form(b, lambda f: 'formproc' in f.action) nameform = get_form( b, lambda f: 'wrep_const' in f.action ) #see AL-06 for an example, has zip form in page too wyrform = get_form( b, lambda f: f.find_control_by_id('state') and f. find_control_by_name('zip') and f.find_control_by_name('zip4')) indexform = get_form( b, lambda f: f.has(name='Re')) # see billnelson for example # choose which form we want to use form = None if textareaform: if DEBUG: print "textareaform" form = textareaform elif wyrform and not completedWyrForm: if DEBUG: print "wyrform" form = wyrform completedWyrForm = True elif nameform: if DEBUG: print "step2 contact form with name" form = nameform elif zipform: if DEBUG: print "zipform" form = zipform elif verificationform: if DEBUG: print "verification form" form = verificationform elif indexform: if DEBUG: print "index form" form = indexform # if no redirect and no form was found, just return. can go no further if not form: if DEBUG: print "no form found" return b.page # look for captcha if form.find_control_by_name( 'captcha') or form.find_control_by_name('validation'): if DEBUG: print "captcha found" # raise Captcha return b.page else: if DEBUG: print "no captcha found" if DEBUG: print "going to fill_form from ", b.url, " now \n", form, "\n End form", cnt, "\n" if "inhofe" in contact_link or "lgraham" in contact_link: fill_inhofe_lgraham(form) else: fill_form(form) try: if DEBUG: print "trying the next page" nextpage = b.open(form.click()) except urllib2.HTTPError, error: print >> sys.stderr, "caught a urllib2 http error" print >> sys.stderr, "Failed to submit form for url ", b.url, " error: ", traceback.print_exc( ) return "Failed to submit form for url " + b.url + " error: " + traceback.format_exc( ) except:
import ocr import browser import time import numpy as np from settings import BOUNDS if __name__ == "__main__": b = browser.Browser() b.goToMap() oldPos = np.zeros(3) newPos = np.zeros(3) ads_removed = False cookies_msg_removed = False # Check every second for a new position while True: time.sleep(1.5) # # Try to remove the ads if they haven't been yet # if not ads_removed: # ads_removed = b.tryRemoveAds() # # Try to remove the cookie msg if it hasn't yet # if not cookies_msg_removed: # cookies_msg_removed = b.tryRemoveCookiesMsg() img_data = ocr.get_image(BOUNDS)
import browser link = input("Lütfen ürün linkini giriniz \n\t>") count = int(input("Kaç kere fiyat kontrol edilecek? \n\t>")) time = int(input("Her kontrol arasında kaç saniye beklenecek? \n\t>")) browser = browser.Browser(time=time, count=count, link=link)
def __init__(self): super(Window, self).__init__() self.image_worker = process.Image() self.image_crop = [800, 1800, 1650, 2650] self.current_status = {} self.canvas_config = configparser.ConfigParser() self.canvas_config.read('./configuration.ini') self.mainSplitter = QtWidgets.QSplitter(QtCore.Qt.Vertical) self.topSplitter = QtWidgets.QSplitter(QtCore.Qt.Horizontal) self.canvasFrame = QtWidgets.QWidget() self.canvasFrameGrid = QtWidgets.QHBoxLayout(self.canvasFrame) self.canvas = canvas.Canvas(self, self.canvas_config) self.digital_tile = digital_tile.DigTile(self) self.controlPanel = QtWidgets.QWidget(self) self.controlPanelGrid = QtWidgets.QGridLayout(self.controlPanel) self.supportedFormates = {'*.3fr','*.ari','*.arw','*.srf', '*.sr2','*.bay','*.cri','*.crw', '*.cr2', '*.cr3', '*.cap','*.iiq','*.eip',\ '*.dcs','*.dcr','*.drf','*.k25', '*.kdc','*.dng','*.erf','*.fff', '*.mef', '*.mdc', '*.mos','*.mrw','*.nef',\ '*.nrw','*.orf','*.pef','*.ptx', '*.pxn','*.r3d','*.raf','*.raw', '*.rw2', '*.rwl', '*.rwz','*.srw','*.x3f',\ '*.3FR','*.ARI','*.ARW','*.SRF', '*.SR2','*.BAY','*.CRI','*.CRW', '*.CR2', '*.CR3', '*.CAP','*.IIQ','*.EIP',\ '*.DCS','*.DCR','*.DRF','*.K25', '*.KDC','*.DNG','*.ERF','*.FFF', '*.MEF', '*.MDC', '*.MOS','*.MRW','*.NEF',\ '*.NRW','*.ORF','*.PEF','*.PTX', '*.PXN','*.R3D','*.RAF','*.RAW', '*.RW2', '*.RWL', '*.RWZ','*.SRW','*.X3F',\ '*.bmp','*.eps','*.gif','*.icns','*.ico','*.im', '*.jpg','*.jpeg','*.jpeg2000','*.msp', '*.pcx','*.png','*.ppm',\ '*.sgi','*.tiff','*.tif','*.xbm','*.BMP','*.EPS','*.GIF','*.ICNS','*.ICO', '*.IM', '*.JPG','*.JPEG','*.JPEG2000',\ '*.MSP','*.PCX','*.PNG','*.PPM','*.SGI','*.TIFF','*.TIF','*.XBM'} self.open_label = QtWidgets.QLabel('Choose image file:\n') self.open_label.setMaximumHeight(100) self.open_button = QtWidgets.QPushButton('Browse...') self.open_button.clicked.connect(self.browse_image) self.browser_widget = browser.Browser(self, self.supportedFormates) self.IMAGE_CHOSEN.connect(self.browser_widget.tree_update) self.browser_widget.FILE_DOUBLE_CLICKED.connect(self.open_image) self.browser_widget.setMaximumHeight(400) self.nbs_label = QtWidgets.QLabel('Number of scales:') self.nba_label = QtWidgets.QLabel('Number of angles:') self.ac_label = QtWidgets.QLabel('Use curvet at the coarest scale?') self.nbs = QtWidgets.QComboBox() for s in range(3, 20): self.nbs.addItem(str(s)) self.nbs.setCurrentText('5') self.nbs.currentTextChanged.connect(self.nbs_changed) self.nba = QtWidgets.QComboBox() for a in [8, 16, 32, 64]: self.nba.addItem(str(a)) self.nba.currentTextChanged.connect(self.nba_changed) self.ac = QtWidgets.QCheckBox() self.ac.setChecked(True) self.ac.stateChanged.connect(self.ac_changed) self.wedge_index_label = QtWidgets.QLabel('Current wedge index:') self.threshold_label = QtWidgets.QLabel('Threshold ({})'.format(30)) self.threshold_slider = QtWidgets.QSlider(QtCore.Qt.Horizontal) self.threshold_slider.setMinimum(0) self.threshold_slider.setMaximum(255) self.threshold_slider.setValue(30) self.threshold_slider.valueChanged.connect(self.threshold_changed) self.cursor_selections_label = QtWidgets.QLabel( 'Cursor selection rule:') self.cursor_selections = QtWidgets.QComboBox() self.cursor_selections.addItem('cell') self.cursor_selections.addItem('level') self.cursor_selections.currentTextChanged.connect( self.digital_tile.set_cursor_selection_rule) self.click_functions_label = QtWidgets.QLabel('Click function:') self.click_functions = QtWidgets.QComboBox() self.click_functions.addItem('select') self.click_functions.addItem('show') self.click_functions.currentTextChanged.connect( self.digital_tile.set_click_function_rule) self.previous_difference_scale_factor = 10 self.difference_scale_factor_label = QtWidgets.QLabel( 'Difference gain ({})'.format( self.previous_difference_scale_factor)) self.difference_scale_factor_slider = QtWidgets.QSlider( QtCore.Qt.Horizontal) self.difference_scale_factor_slider.setMinimum(1) self.difference_scale_factor_slider.setMaximum(100) self.difference_scale_factor_slider.setValue( self.previous_difference_scale_factor) self.difference_scale_factor_slider.valueChanged.connect( self.difference_scale_factor_changed) self.button_group = QtWidgets.QGroupBox() self.button_group_grid = QtWidgets.QVBoxLayout(self.button_group) self.show_selected_cells_button = QtWidgets.QPushButton( "Show Selected Cells") self.show_selected_cells_button.clicked.connect( self.show_selected_cells) self.show_selected_cells_button.setEnabled(False) self.close_all_button = QtWidgets.QPushButton("Close All") self.close_all_button.setEnabled(False) self.close_all_button.clicked.connect(self.clear_all) self.load_curvelet_button = QtWidgets.QPushButton( "Load Curvelet Digital Tile") self.load_curvelet_button.clicked.connect(self.load_curvelet_transform) self.load_curvelet_button.setEnabled(False) self.show_modified_image_button = QtWidgets.QPushButton("Show Results") self.show_modified_image_button.clicked.connect(self.show_modified) self.show_modified_image_button.setEnabled(False) self.apply_threshold_button = QtWidgets.QPushButton( 'Apply Threshold Denoise') self.apply_threshold_button.clicked.connect(self.threshold_denoise) self.apply_threshold_button.setEnabled(False) self.button_group_grid.addWidget(self.show_selected_cells_button) self.button_group_grid.addWidget(self.close_all_button) self.button_group_grid.addWidget(self.load_curvelet_button) self.button_group_grid.addWidget(self.show_modified_image_button) self.button_group_grid.addWidget(self.apply_threshold_button) self.button_group_grid.setAlignment(QtCore.Qt.AlignTop) self.controlPanelGrid.setAlignment(QtCore.Qt.AlignTop) self.controlPanelGrid.addWidget(self.open_label, 0, 0, 1, 6) self.controlPanelGrid.addWidget(self.open_button, 1, 0, 1, 6) self.controlPanelGrid.addWidget(self.browser_widget, 2, 0, 1, 6) self.controlPanelGrid.addWidget(self.nbs_label, 10, 0, 1, 2) self.controlPanelGrid.addWidget(self.nbs, 10, 2, 1, 4) self.controlPanelGrid.addWidget(self.nba_label, 11, 0, 1, 2) self.controlPanelGrid.addWidget(self.nba, 11, 2, 1, 4) self.controlPanelGrid.addWidget(self.ac_label, 12, 0, 1, 2) self.controlPanelGrid.addWidget(self.ac, 12, 2, 1, 4) self.controlPanelGrid.addWidget(self.threshold_label, 13, 0, 1, 2) self.controlPanelGrid.addWidget(self.threshold_slider, 13, 2, 1, 4) self.controlPanelGrid.addWidget(self.difference_scale_factor_label, 14, 0, 1, 2) self.controlPanelGrid.addWidget(self.difference_scale_factor_slider, 14, 2, 1, 4) self.controlPanelGrid.addWidget(self.cursor_selections_label, 20, 0, 1, 2) self.controlPanelGrid.addWidget(self.cursor_selections, 20, 2, 1, 4) self.controlPanelGrid.addWidget(self.click_functions_label, 21, 0, 1, 2) self.controlPanelGrid.addWidget(self.click_functions, 21, 2, 1, 4) self.controlPanelGrid.addWidget(self.wedge_index_label, 22, 0, 1, 6) self.controlPanelGrid.addWidget(self.digital_tile, 30, 0, 1, 5) self.controlPanelGrid.addWidget(self.button_group, 30, 5, 1, 1) self.statusBar = QtWidgets.QGroupBox("Log") self.statusBar.setStyleSheet('QGroupBox::title {color:blue;}') self.statusGrid = QtWidgets.QGridLayout(self.statusBar) self.progressBar = QtWidgets.QProgressBar() self.progressBar.setVisible(False) self.progressBar.setOrientation(QtCore.Qt.Horizontal) self.progressBarSizePolicy = self.progressBar.sizePolicy() self.progressBarSizePolicy.setRetainSizeWhenHidden(True) self.progressBarSizePolicy.setHorizontalPolicy( QtWidgets.QSizePolicy.Expanding) self.progressBar.setSizePolicy(self.progressBarSizePolicy) self.logBox = QtWidgets.QTextEdit(QtCore.QTime.currentTime().toString("hh:mm:ss")+\ "\u00A0\u00A0\u00A0\u00A0Initialized!") self.logCursor = QtGui.QTextCursor(self.logBox.document()) self.logCursor.movePosition(QtGui.QTextCursor.End) self.logBox.setTextCursor(self.logCursor) self.logBox.ensureCursorVisible() self.logBox.setAlignment(QtCore.Qt.AlignTop) self.logBox.setFrameShape(QtWidgets.QFrame.NoFrame) self.logBoxScroll = QtWidgets.QScrollArea() self.logBoxScroll.setWidget(self.logBox) self.logBoxScroll.setWidgetResizable(True) self.logBoxScroll.setFrameShape(QtWidgets.QFrame.NoFrame) self.statusGrid.addWidget(self.logBoxScroll, 0, 0) self.statusGrid.setAlignment(self.progressBar, QtCore.Qt.AlignRight) self.canvasFrameGrid.addWidget(self.canvas, 1) self.topSplitter.addWidget(self.canvasFrame) self.topSplitter.addWidget(self.controlPanel) self.topSplitter.setSizes([800, 400]) self.topSplitter.setStretchFactor(0, 1) self.topSplitter.setStretchFactor(1, 1) self.topSplitter.setCollapsible(0, False) self.topSplitter.setCollapsible(1, False) self.mainSplitter.addWidget(self.topSplitter) self.mainSplitter.addWidget(self.statusBar) self.mainSplitter.setSizes([800, 100]) self.mainSplitter.setStretchFactor(0, 1) self.mainSplitter.setStretchFactor(1, 1) self.mainSplitter.setCollapsible(0, False) self.mainSplitter.setCollapsible(1, False) self.setCentralWidget(self.mainSplitter)