def run_get_logic(driver: PhantomJS, command_id, token): if not token: return {"code": 103, "public": "Session troubles!"} driver.add_cookie({ 'name': 'token', 'value': token, 'domain': "." + command_id.split(":")[0], 'path': '/' }) driver.get("http://{}/cabinet".format(command_id)) try: flag_there = driver.find_element_by_xpath('//html//body//div//h5//i') flag_container = flag_there.get_attribute('innerHTML') return flag_container except NoSuchElementException as e: return "error_no_flag_in_cabinet"
def run_get_logic(driver: PhantomJS, comand_id, post, flag, cookies): if 'sessions' not in cookies: return {"code": MUMBLE, "public": "Session troubles!"} driver.add_cookie({ 'name': 'sessions', 'value': cookies['sessions'], 'domain': "." + comand_id.split(":")[0], 'path': '/' }) driver.get("http://{}/{}".format(comand_id, post)) try: flag_there = driver.find_element_by_xpath('//li/a[@href="#"]') flag_container = flag_there.get_attribute('innerHTML') if flag in flag_container: return {"code": OK} else: return {"code": CORRUPT, "public": "Can't find my private data!"} except NoSuchElementException: return {"code": CORRUPT, "public": "Can't find my private data!"}
def run_get_logic(driver: PhantomJS, team_ip, user, password): session_cookie = beacons_api.sign_in(team_ip, user, password) print('cookie: ' + session_cookie) beacons = beacons_api.get_all_user_beacons(team_ip, session_cookie) if not beacons: print('no beacons') return {"code": 103} print('beacons: ' + str(beacons)) driver.get(f"http://{team_ip}:{SERVICE_PORT}/") driver.add_cookie({ 'name': 'session', 'value': session_cookie, 'domain': "." + team_ip, 'path': '/' }) for beacon_id in beacons: driver.get(f'http://{team_ip}:{SERVICE_PORT}/Beacon/{beacon_id}') print(driver.current_url) # print(driver.page_source) if beacon_id in driver.current_url: print('fine') return {"code": 101} return {'code': 110}
class InspectAddress(object): def __init__(self): dcap = dict(DesiredCapabilities.PHANTOMJS) # 设置userAgent dcap["phantomjs.page.settings.userAgent"] = ( "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:25.0) Gecko/20100101 Firefox/25.0 " ) self.driver = PhantomJS( executable_path=r'phantomjs-2.1.1-windows\bin\phantomjs.exe', desired_capabilities=dcap) def get_dev_cookie(self): logurl = 'https://www.bidinghuo.cn/api/backend/login.json' # jsondata_url = 'https://www.bidinghuo.cn/api/backend/platform/query.json' headers = { 'Content-Type': 'application/json;charset=UTF-8', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36' } data = { u'username': config.developers_account[0], u'password': config.developers_account[1] } value = '' try: res = requests.post(logurl, data=data) if res.status_code == 200: print u'开发平台账户登录-成功' value = res.cookies['laravel_session'] else: print u'开发平台账户登录-失败' except: print u'开发平台账户登录-失败' cookies = { u'domain': u'.bidinghuo.cn', u'secure': False, u'value': value, u'expiry': None, u'path': u'/', u'httpOnly': True, u'name': u'laravel_session' } return cookies def get_brand_cookie(self): logurl = 'https://pyf123.bidinghuo.cn/api/admin/login.json' headers = { 'Content-Type': 'application/json;charset=UTF-8', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36' } data = { u'username': config.brand_user[0], u'password': config.brand_user[1] } value = '' try: res = requests.post(logurl, data=data) if res.status_code == 200: print u'品牌商账户登录-成功' value = res.cookies['laravel_session'] else: print u'品牌商账户登录-失败' except: print u'品牌商账户登录-失败' cookies = { u'domain': u'.bidinghuo.cn', u'secure': False, u'value': value, u'expiry': None, u'path': u'/', u'httpOnly': True, u'name': u'laravel_session' } return cookies def developer_platform(self): '''访问品牌商管理开发平台''' url = config.developers_platform try: self.driver.add_cookie(self.get_dev_cookie()) self.driver.get(url) self.driver.set_page_load_timeout(30) except: print u'访问品牌商管理开发平台-异常' try: page = self.driver.page_source page_soup = BeautifulSoup(page) username = page_soup.find_all(class_='user-name')[0] assert username.string == config.developers_account[0] print u'品牌商管理开发平台-访问正常' except: print u'品牌商管理开发平台-访问异常' def brand_platform(self): '''访问品牌商后台''' url = config.brand_platform try: self.driver.add_cookie(self.get_brand_cookie()) self.driver.get(url) self.driver.set_page_load_timeout(30) bdh_title = BeautifulSoup( self.driver.page_source).find_all(class_='ovh')[0].h2.string nsgj_title = BeautifulSoup( self.driver.page_source).find_all(class_='ovh')[1].h2.string assert bdh_title == u'必订火' assert nsgj_title == u'内审管家' print u'访问品牌商后台-正常' except: print u'访问品牌商后台-异常' try: page = self.driver.page_source nsgj_href = self.driver.find_element_by_xpath( '//*[@id="app"]/div[2]/div/div[2]/div/div[2]/a').get_attribute( 'href') bdh_href = self.driver.find_element_by_xpath( '//*[@id="app"]/div[2]/div/div[1]/div/div[2]/a').get_attribute( 'href') assert requests.get(bdh_href).status_code == 200 self.driver.get(bdh_href) self.driver.set_page_load_timeout(30) dhh_title = BeautifulSoup(self.driver.page_source).find_all( class_='meeting-name text-overflow')[0].string assert dhh_title == u'测试订货会' print u'访问品牌商订货会-正常' except: print u'访问品牌商订货会-异常' try: assert requests.get(bdh_href).status_code == 200 self.driver.get(nsgj_href) self.driver.set_page_load_timeout(30) nsh_title = BeautifulSoup(self.driver.page_source).find_all( class_='meeting-name text-overflow')[0].string assert nsh_title == u'认同与人体' print u'访问品牌商内审管家-正常' except: print u'访问品牌商内审管家-异常'