def login_code(cachePath, userId, password): global webdriver file = pathlib.Path(cachePath) flag = file.exists() chrome_options = Options() chromedriver_path = '/Users/shaurya/Desktop/Shaurya/pyinstagram/webdriver/chromedriver' chrome_options.add_argument('--user-data-dir={}'.format(cachePath)) if args.headless == 'True': chrome_options.add_argument("--headless") webdriver = webdriver.Chrome(executable_path=chromedriver_path, options=chrome_options) sleep(2) print(flag) if flag == False: print('Cache Doesnot exist') webdriver.get( 'https://www.instagram.com/accounts/login/?source=auth_switcher') sleep(3) webdriver.maximize_window() logger.info("Not Cached: Instagram Site Open") username = webdriver.find_element_by_name('username') username.send_keys(userId) p_word = webdriver.find_element_by_name('password') p_word.send_keys(password) logger.info("Id {}, Password Entered".format(userId)) button_login = webdriver.find_element_by_css_selector( '#react-root > section > main > div > article > div > div:nth-child(1) > div > form > div:nth-child(4)' ) button_login.click() sleep(3) else: webdriver.get('https://www.instagram.com') sleep(3) webdriver.maximize_window() logger.info("Cached: Instagram Site Open") return webdriver
''' Return a list of all fields error messages :return: a list of text ''' logger.info('Get error messages displayed on fields') self.wait_UI(self.__field_error_loc) field_errors = self.find_elements(*self.__field_error_loc) error_messages = [] for error in field_errors: error_messages.append(error.text) return error_messages if __name__ == '__main__': webdriver = webdriver.Firefox() webdriver.maximize_window() webdriver.implicitly_wait(10) login_page = LoginPage(webdriver) login_page.login() menu_bar = MenuBar(webdriver) menu_bar.wait_UI(menu_bar.menu_button_loc) menu_bar.action_toggle_menu() time.sleep(1) menu_bar.action_expand_app_group('Supply Chain Advantage') menu_bar.action_expand_menu('Advantage Dashboard') menu_bar.action_expand_menu('searchTest', False, 'search test') searchPage = SearchPage(webdriver) print(searchPage.get_page_title()) time.sleep(1) print(searchPage.get_all_labels_name(1)) searchPage.action_searchlike_input('searchLike', 'abc', 2, 'Exactly')
def setUpBrowser(browser, webdriver): print("Run " + browser + " start at: " + str(datetime.datetime.now())) print("Chrome envirerment set up") print("-------------------------------------") webdriver.implicitly_wait(20) webdriver.maximize_window()
#__author: yaomingxi #__date: 2019-08-03 from selenium import webdriver as dr from time import sleep as sl from selenium.webdriver.common.by import By dr = dr.Safari() dr.maximize_window() url = 'https://www.baidu.com/' dr.get(url) #wb = dr.find_element_by_xpath('/html/body/div/div/div/div/div/form/span/input') #wb.send_keys('selenium webdriver') sl(1) #cl = dr.find_element_by_link_text('新闻') #cl = dr.find_element_by_xpath('/html/body/div/div/div/div[3]/a[1]') #cl.click() #利用元素属性定位 #cl1 = dr.find_element_by_xpath("//input[@id='kw']") #cl1.send_keys('selenium webdriver') #不指定标签名,可以用*号代替 #cl2 = dr.find_element_by_xpath("//*[@name='tj_trnews']") #cl2.click() #层级于属性组合