本文整理汇总了Python中marionette.Actions.move_by_offset方法的典型用法代码示例。如果您正苦于以下问题:Python Actions.move_by_offset方法的具体用法?Python Actions.move_by_offset怎么用?Python Actions.move_by_offset使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类marionette.Actions
的用法示例。
在下文中一共展示了Actions.move_by_offset方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: pinch
# 需要导入模块: from marionette import Actions [as 别名]
# 或者: from marionette.Actions import move_by_offset [as 别名]
def pinch(marionette_session, element, x1, y1, x2, y2, x3, y3, x4, y4, duration=200):
"""
:param element: target
:param x1, y1: 1st finger starting position relative to the target
:param x3, y3: 1st finger ending position relative to the target
:param x2, y2: 2nd finger starting position relative to the target
:param x4, y4: 2nd finger ending position relative to the target
:param duration: Amount of time in milliseconds to complete the pinch.
"""
time = 0
time_increment = 10
if time_increment >= duration:
time_increment = duration
move_x1 = time_increment * 1.0 / duration * (x3 - x1)
move_y1 = time_increment * 1.0 / duration * (y3 - y1)
move_x2 = time_increment * 1.0 / duration * (x4 - x2)
move_y2 = time_increment * 1.0 / duration * (y4 - y2)
multiAction = MultiActions(marionette_session)
action1 = Actions(marionette_session)
action2 = Actions(marionette_session)
action1.press(element, x1, y1)
action2.press(element, x2, y2)
while time < duration:
time += time_increment
action1.move_by_offset(move_x1, move_y1).wait(time_increment / 1000)
action2.move_by_offset(move_x2, move_y2).wait(time_increment / 1000)
action1.release()
action2.release()
multiAction.add(action1).add(action2).perform()
示例2: smooth_scroll
# 需要导入模块: from marionette import Actions [as 别名]
# 或者: from marionette.Actions import move_by_offset [as 别名]
def smooth_scroll(marionette_session, start_element, axis, direction, length, increments=None, wait_period=None, scroll_back=None):
if axis not in ["x", "y"]:
raise Exception("Axis must be either 'x' or 'y'")
if direction not in [-1, 0]:
raise Exception("Direction must either be -1 negative or 0 positive")
increments = increments or 100
wait_period = wait_period or 0.05
scroll_back = scroll_back or False
current = 0
if axis is "x":
if direction is -1:
offset = [-increments, 0]
else:
offset = [increments, 0]
else:
if direction is -1:
offset = [0, -increments]
else:
offset = [0, increments]
action = Actions(marionette_session)
action.press(start_element)
while (current < length):
current += increments
action.move_by_offset(*offset).wait(wait_period)
if scroll_back:
offset = [-value for value in offset]
while (current > 0):
current -= increments
action.move_by_offset(*offset).wait(wait_period)
action.release()
action.perform()
示例3: long_press_without_contextmenu
# 需要导入模块: from marionette import Actions [as 别名]
# 或者: from marionette.Actions import move_by_offset [as 别名]
def long_press_without_contextmenu(marionette_session, element, time_in_seconds, x=None, y=None):
"""
:param element: The element to press.
:param time_in_seconds: Time in seconds to wait before releasing the press.
#x: Optional, x-coordinate to tap, relative to the top-left corner of the element.
#y: Optional, y-coordinate to tap, relative to the top-leftcorner of the element.
"""
action = Actions(marionette_session)
action.press(element, x, y)
action.move_by_offset(0, 0)
action.wait(time_in_seconds)
action.release()
action.perform()
示例4: smooth_scroll
# 需要导入模块: from marionette import Actions [as 别名]
# 或者: from marionette.Actions import move_by_offset [as 别名]
def smooth_scroll(
marionette_session, start_element, axis, direction, length, increments=None, wait_period=None, scroll_back=None
):
"""
:param axis: y or x
:param direction: 0 for positive, and -1 for negative
:param length: total length of scroll scroll
:param increments: Amount to be moved per scrolling
:param wait_period: Seconds to wait between scrolling
:param scroll_back: Scroll back to original view?
"""
if axis not in ["x", "y"]:
raise Exception("Axis must be either 'x' or 'y'")
if direction not in [-1, 0]:
raise Exception("Direction must either be -1 negative or 0 positive")
increments = increments or 100
wait_period = wait_period or 0.05
scroll_back = scroll_back or False
current = 0
if axis is "x":
if direction is -1:
offset = [-increments, 0]
else:
offset = [increments, 0]
else:
if direction is -1:
offset = [0, -increments]
else:
offset = [0, increments]
action = Actions(marionette_session)
action.press(start_element)
while current < length:
current += increments
action.move_by_offset(*offset).wait(wait_period)
if scroll_back:
offset = [-value for value in offset]
while current > 0:
current -= increments
action.move_by_offset(*offset).wait(wait_period)
action.release()
action.perform()
示例5: pinch
# 需要导入模块: from marionette import Actions [as 别名]
# 或者: from marionette.Actions import move_by_offset [as 别名]
def pinch(marionette_session, element, x1, y1, x2, y2, x3, y3, x4, y4, duration=200):
time = 0
time_increment = 10
if time_increment >= duration:
time_increment = duration
move_x1 = time_increment*1.0/duration * (x3 - x1)
move_y1 = time_increment*1.0/duration * (y3 - y1)
move_x2 = time_increment*1.0/duration * (x4 - x2)
move_y2 = time_increment*1.0/duration * (y4 - y2)
multiAction = MultiActions(marionette_session)
action1 = Actions(marionette_session)
action2 = Actions(marionette_session)
action1.press(element, x1, y1)
action2.press(element, x2, y2)
while (time < duration):
time += time_increment
action1.move_by_offset(move_x1, move_y1).wait(time_increment/1000)
action2.move_by_offset(move_x2, move_y2).wait(time_increment/1000)
action1.release()
action2.release()
multiAction.add(action1).add(action2).perform()