Python selenium.webdriver.common.keys.Keys.END Examples
The following are 7
code examples of selenium.webdriver.common.keys.Keys.END().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
selenium.webdriver.common.keys.Keys
, or try the search function
.
Example #1
Source File: Salesforce.py From CumulusCI with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _clear(self, element): """Clear the field, using any means necessary This is surprisingly hard to do with a generic solution. Some methods work for some components and/or on some browsers but not others. Therefore, several techniques are employed. """ element.clear() self.selenium.driver.execute_script("arguments[0].value = '';", element) # Select all and delete just in case the element didn't get cleared element.send_keys(Keys.HOME + Keys.SHIFT + Keys.END) element.send_keys(Keys.BACKSPACE) if element.get_attribute("value"): # Give the UI a chance to settle down. The sleep appears # necessary. Without it, this keyword sometimes fails to work # properly. With it, I was able to run 700+ tests without a single # failure. time.sleep(0.25) # Even after all that, some elements refuse to be cleared out. # I'm looking at you, currency fields on Firefox. if element.get_attribute("value"): self._force_clear(element)
Example #2
Source File: Salesforce.py From CumulusCI with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _force_clear(self, element): """Use brute-force to clear an element This moves the cursor to the end of the input field and then issues a series of backspace keys to delete the data in the field. """ value = element.get_attribute("value") actions = ActionChains(self.selenium.driver) actions.move_to_element(element).click().send_keys(Keys.END) for character in value: actions.send_keys(Keys.BACKSPACE) actions.perform()
Example #3
Source File: Salesforce.py From CumulusCI with BSD 3-Clause "New" or "Revised" License | 5 votes |
def salesforce_query(self, obj_name, **kwargs): """Constructs and runs a simple SOQL query and returns a list of dictionaries. By default the results will only contain object Ids. You can specify a SOQL SELECT clase via keyword arguments by passing a comma-separated list of fields with the ``select`` keyword argument. Example: The following example searches for all Contacts where the first name is "Eleanor". It returns the "Name" and "Id" fields and logs them to the robot report: | @{records}= Salesforce Query Contact select=Id,Name | FOR ${record} IN @{records} | log Name: ${record['Name']} Id: ${record['Id']} | END """ query = "SELECT " if "select" in kwargs: query += kwargs["select"] else: query += "Id" query += " FROM {}".format(obj_name) where = [] for key, value in kwargs.items(): if key == "select": continue where.append("{} = '{}'".format(key, value)) if where: query += " WHERE " + " AND ".join(where) self.builtin.log("Running SOQL Query: {}".format(query)) return self.cumulusci.sf.query_all(query).get("records", [])
Example #4
Source File: course-updates.py From ANALYSE with GNU Affero General Public License v3.0 | 5 votes |
def change_date(_step, new_date): button_css = 'div.post-preview a.edit-button' world.css_click(button_css) date_css = 'input.date' date = world.css_find(date_css) for i in range(len(date.value)): date._element.send_keys(Keys.END, Keys.BACK_SPACE) date._element.send_keys(new_date) save_css = 'a.save-button' world.css_click(save_css)
Example #5
Source File: testvideo.py From netflix-proxy with MIT License | 5 votes |
def enablePlayerControls(self): actions = ActionChains(self.driver) actions.send_keys(Keys.END).perform()
Example #6
Source File: node.py From capybara.py with MIT License | 5 votes |
def set(self, value, clear=None): tag_name = self.tag_name type_attr = self["type"] if tag_name == "input" and type_attr == "radio": self.click() elif tag_name == "input" and type_attr == "checkbox": current = self.native.get_attribute("checked") == "true" if current ^ value: self.click() elif tag_name == "textarea" or tag_name == "input": if self.readonly: raise ReadOnlyElementError() if clear == "backspace": # Clear field by sending the correct number of backspace keys. backspaces = [Keys.BACKSPACE] * len(self.value) self.native.send_keys(*([Keys.END] + backspaces + [value])) else: # Clear field by JavaScript assignment of the value property. self.driver.browser.execute_script("arguments[0].value = ''", self.native) self.native.send_keys(value) elif self["isContentEditable"]: self.native.click() script = """ var range = document.createRange(); var sel = window.getSelection(); range.selectNodeContents(arguments[0]); sel.removeAllRanges(); sel.addRange(range); """ self.driver.browser.execute_script(script, self.native) self.native.send_keys(value)
Example #7
Source File: Salesforce.py From CumulusCI with BSD 3-Clause "New" or "Revised" License | 4 votes |
def salesforce_collection_update(self, objects): """Updates records described as Robot/Python dictionaries. _objects_ is a dictionary of data in the format returned by the *Salesforce Collection Insert* keyword. A 200 record limit is enforced by the Salesforce APIs. Example: The following example creates ten accounts and then updates the Rating from "Cold" to "Hot" | ${data}= Generate Test Data Account 10 | ... Name=Account #{{number}} | ... Rating=Cold | ${accounts}= Salesforce Collection Insert ${data} | | FOR ${account} IN @{accounts} | Set to dictionary ${account} Rating Hot | END | Salesforce Collection Update ${accounts} """ for obj in objects: assert obj[ "id" ], "Should be a list of objects with Ids returned by Salesforce Collection Insert" if STATUS_KEY in obj: del obj[STATUS_KEY] assert len(objects) <= SF_COLLECTION_INSERTION_LIMIT, ( "Cannot update more than %s objects with this keyword" % SF_COLLECTION_INSERTION_LIMIT ) records = self.cumulusci.sf.restful( "composite/sobjects", method="PATCH", json={"allOrNone": True, "records": objects}, ) for record, obj in zip(records, objects): obj[STATUS_KEY] = record