def add_poll(self, question, *answers): actions = Actions(self.driver) actions.click_to_element(By.XPATH, self.ADD_POLL_CHECKBOX) actions.send_keys_to_elem_and_perform(By.XPATH, self.QUESTION_POLL, question) count = len(answers) for index in range(count): answer_xpath = self.ANSWEAR_POLL.format(index) if not actions.element_is_exist(By.XPATH, answer_xpath): answer_xpath += '[2]' actions.click_and_wait(By.XPATH, self.ADD_OPTION_ANSWER, By.XPATH, answer_xpath) actions.send_keys_to_elem_and_perform(By.XPATH, answer_xpath, answers[index])
def upload_image(self, path_to_file, align='', description=''): actions = Actions(self.driver) actions.wait_and_click(By.XPATH, self.ADD_IMAGE) WebDriverWait(self.driver, conf.TIMEOUT, conf.POLL_FREQUENCY).until( expected_conditions.presence_of_element_located( (By.XPATH, self.WINDOW_UPLOAD))) actions.wait_and_click(By.XPATH, self.FROM_PC) actions.send_keys_to_elem_and_perform(By.XPATH, self.INPUT_IMG_FILE, path_to_file) align_selector = Select( self.driver.find_element_by_xpath(self.ALIGN_SELECT_FROM_PC)) align_selector.select_by_value(align) actions.wait_and_click(By.XPATH, self.IMAGE_DESCRIPTION_FROM_PC) actions.send_keys_and_perform(*description) actions.wait_and_click(By.XPATH, self.SUBMIT_IMAGE_FILE) WebDriverWait(self.driver, conf.TIMEOUT, conf.POLL_FREQUENCY).until( lambda d: description in d.find_element_by_xpath( self.MAIN_TEXT).get_attribute('value'))
def insert_image(self, url, align='', description='', as_link=False): actions = Actions(self.driver) actions.wait_and_click(By.XPATH, self.ADD_IMAGE) WebDriverWait(self.driver, conf.TIMEOUT, conf.POLL_FREQUENCY).until( expected_conditions.presence_of_element_located( (By.XPATH, self.WINDOW_UPLOAD))) actions.wait_and_click(By.XPATH, self.FROM_INTERNET) actions.clear(By.XPATH, self.INPUT_IMG_URL) actions.send_keys_to_elem_and_perform(By.XPATH, self.INPUT_IMG_URL, url) align_selector = Select( self.driver.find_element_by_xpath(self.ALIGN_SELECT_FROM_INTERNET)) align_selector.select_by_value(align) actions.wait_and_click(By.XPATH, self.IMAGE_DESCRIPTION_FROM_INTERNET) actions.send_keys_and_perform(*description) if as_link: actions.wait_and_click( By.XPATH, self.SUBMIT_INSERT_IMAGE_AS_LINK_FROM_INTERNET) else: actions.wait_and_click(By.XPATH, self.SUBMIT_UPLOAD_IMAGE_FROM_INTERNET) WebDriverWait(self.driver, conf.TIMEOUT, conf.POLL_FREQUENCY).until( lambda d: description in d.find_element_by_xpath( self.MAIN_TEXT).get_attribute('value'))