def test_delete_addressbook_in_mh(): browser = SeElements(webdriver.Firefox()) #with se as browser: # open url browser.navigate('https://bulk.boomware.com/login') # login browser.find('email').write('*****@*****.**') browser.find('password').write('123456Test') browser.find('button').click() # enter token browser.find('code').write('978896') browser.find('button').click() pass
class GoogleDriveUi: def __init__(self, driver): self.driver = driver self.se = SeElements(browser=self.driver) def open_home_page(self): self.driver.get('https://www.google.com/drive/') def click_go_to_google_drive_button(self): self.se.xpath('//a[@data-g-action="Intro"]', wait=True, ttl=5).click() def login(self, email, password): self.open_home_page() self.click_go_to_google_drive_button() self.se.find('#identifierId', wait=True, ttl=5).clear().write(email) self.se.find('#identifierNext', wait=True, ttl=5).click() self.se.find('[type="password"]', wait=True, ttl=5).clear().write(password) self.se.find('#passwordNext', wait=True, ttl=5).click() def double_click_on_file_or_folder(self, data_id): actionChains = ActionChains(self.driver) actionChains.double_click( self.driver.find_element_by_xpath( '//div[@data-id="{}"]'.format(data_id))).perform() def find_file_or_folder(self, data_id): return self.se.xpath('//div[@data-id="{}"]'.format(data_id), wait=True, ttl=5)
class Facebook: def __init__(self, driver): self.driver = driver self.se = SeElements(browser=self.driver) def open_home_page(self): self.driver.get("https://www.facebook.com") def login(self, email, password): self.se.find('#email', wait=True, ttl=5).clear().write(email) self.se.find('#pass', wait=True, ttl=5).clear().write(password) self.se.find('#loginbutton', wait=True, ttl=5).click() def open_profile(self): self.se.xpath('//a[@title="Profile" or @title="Профиль"]', wait=True, ttl=5).click() def open_friends_page(self): self.se.xpath('//a[text()="Friends" or text()="Друзья"]', wait=True, ttl=5).click() def get_number_of_friends_badge(self): return self.se.xpath( '//a[@name="All friends" or @name="Все друзья"]/span[2]', wait=True, ttl=5).text() def scroll_down(self): movies_block = self.se.find('#pagelet_timeline_medley_movies') count = 50 while not len(movies_block): if count == 0: break else: self.driver.execute_script( 'window.scrollTo(0, document.body.scrollHeight);') count -= 1 def count_friends(self): friends = self.se.xpath('//div[@data-testid="friend_list_item"]', wait=True, ttl=10) return len(friends)
NOTE: 1) If Google ever changes their main page, this example will break. 2) This assumes that you have Firefox installed on your machine 3) This was tested on an OS X 10.10 machine running Firefox. YMMV. To run: pip install -U selenium python simple.py """ from selenium import webdriver from selenium.webdriver.common.keys import Keys from elementium.drivers.se import SeElements # Create an Elements object that wraps the Selenium Firefox driver elements = SeElements(webdriver.Firefox()) # Navigate to the Google search page elements.navigate("http://www.google.com") # Find the search box search_box = elements.find('#lst-ib')[0] # Enter something into the field to so that we can search for it search_box.write("github elementium").write(Keys.RETURN) # Quite the browser elements.browser.quit()
collector = [] for i in range(len(cases)): case = cases[i] if (checkValuesOnLength(case) == 0): lineReport = {'CaseResult': 'SKIPPED', 'CaseLine': i + 2, 'Exp/Act': f'One or more values have length more than 10 symbols. {case[0]}/{case[1]}/{case[2]}', 'Timestamp': datetime.today().strftime("%Y-%m-%d %H.%M.%S")} collector.append(lineReport) writeToFileTR(collector) print( f'\033[93mSKIPPED\033[0m\tCaseLine {i + 2}. One or more values have length more than 10 symbols. {case[0]}/{case[1]}/{case[2]}') continue try: # ищем поля ввода, ждем пока из не будет 3шт inputs = browser.find("input[type='text']").until(lambda e: len(e) == 3) # ищем сабмит btn = browser.find("button[class='gwt-Button']") finally: # вводим значения for j in range(3): inputs.get(j).write(case[j]) # жмем сабмит btn.get(0).click() # очищаем поля for k in range(3): inputs.get(k).clear() try: resultContainer = browser.find("div[class='answerLabel']").until(lambda e: len(e) == 1) actualResult = resultContainer.get(0).text()