本文整理汇总了Python中selenium.webdriver.common.keys.Keys.END属性的典型用法代码示例。如果您正苦于以下问题:Python Keys.END属性的具体用法?Python Keys.END怎么用?Python Keys.END使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在类selenium.webdriver.common.keys.Keys
的用法示例。
在下文中一共展示了Keys.END属性的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _clear
# 需要导入模块: from selenium.webdriver.common.keys import Keys [as 别名]
# 或者: from selenium.webdriver.common.keys.Keys import END [as 别名]
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)
示例2: _force_clear
# 需要导入模块: from selenium.webdriver.common.keys import Keys [as 别名]
# 或者: from selenium.webdriver.common.keys.Keys import END [as 别名]
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()
示例3: salesforce_query
# 需要导入模块: from selenium.webdriver.common.keys import Keys [as 别名]
# 或者: from selenium.webdriver.common.keys.Keys import END [as 别名]
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", [])
示例4: change_date
# 需要导入模块: from selenium.webdriver.common.keys import Keys [as 别名]
# 或者: from selenium.webdriver.common.keys.Keys import END [as 别名]
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)
示例5: enablePlayerControls
# 需要导入模块: from selenium.webdriver.common.keys import Keys [as 别名]
# 或者: from selenium.webdriver.common.keys.Keys import END [as 别名]
def enablePlayerControls(self):
actions = ActionChains(self.driver)
actions.send_keys(Keys.END).perform()
示例6: set
# 需要导入模块: from selenium.webdriver.common.keys import Keys [as 别名]
# 或者: from selenium.webdriver.common.keys.Keys import END [as 别名]
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)
示例7: salesforce_collection_update
# 需要导入模块: from selenium.webdriver.common.keys import Keys [as 别名]
# 或者: from selenium.webdriver.common.keys.Keys import END [as 别名]
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