呼和浩特网站建设SEO优化,汕头网站建设系统,开网站建设公司好,什么是网站集约化建设目录 Appium API
前言 1.contexts #xff08;返回当前会话中的上下文#xff0c;使用后可以识别 H5 页面的控件#xff09; 2.current_context #xff08;返回当前会话的当前上下文 #xff09; 3. context #xff08;返回当前会话的当前上下文#xff09; 4.find_e…目录 Appium API
前言 1.contexts 返回当前会话中的上下文使用后可以识别 H5 页面的控件 2.current_context 返回当前会话的当前上下文 3. context 返回当前会话的当前上下文 4.find_element_by_ios_uiautomation通过 iOS uiautomation 查找元素 5.find_element_by_accessibility_id通过 accessibility id 查找元素 6.scroll 从元素 origin_el 滚动至元素 destination_el 7.drag_and_drop将元素 origin_el 拖到目标元素 destination_el 8.tap 模拟手指点击最多五个手指可设置按住时间长度毫秒 9.swipe 从 A 点滑动至 B 点滑动时间为毫秒 10.flick 按住 A 点后快速滑动至 B 点 11.pinch 在元素上执行模拟双指捏缩小操作 12.zoom 在元素上执行放大操作 13.reset 重置应用(类似删除应用数据) 14 hide_keyboard 隐藏键盘,iOS 使用 key_name 隐藏安卓不使用参数 15 keyevent 发送按键码安卓仅有按键码可以上网址中找到 16 press_keycode 发送按键码安卓仅有按键码可以上网址中找到 17.long_press_keycode发送一个长按的按键码长按某键 18.current_activity 获取当前的 activity 19.wait_activity等待指定的 activity 出现直到超时interval 为扫描间隔 1 秒 即每隔几秒获取一次当前的 activity 20.background_app 后台运行 app 多少秒 21.is_app_installed 检查 app 是否有安装 22.install_app 安装 app,app_path 为安装包路径 23.remove_app 删除 app 24.launch_app启动 app 25.close_app 需要注意的是启动和关闭 app 运行好像会出错 26.start_activity 在测试过程中打开任意活动。如果活动属于另一个应用程序该应用程序的启动和活动被打开。这是一个安卓的方法 27.lock 锁屏一段时间 iOS 专有 28.shake 摇一摇手机 29.open_notifications 打系统通知栏仅支持 API 18 以上的安卓系统 30.network_connection#返回网络类型数值 31.set_network_connection 设置网络类型 32.available_ime_engines返回安卓设备可用的输入法 33.is_ime_active i检查设备是否有输入法服务活动。返回真/假 34.activate_ime_engine 激活安卓设备中的指定输入法设备可用输入法可以从 “available_ime_engines”获取 35.deactivate_ime_engine 关闭安卓设备当前的输入法 36.active_ime_engine 返回当前输入法的包名 37.toggle_location_services 打开安卓设备上的位置定位设置 38.set_location 设置设备的经纬度 39.tag_name返回元素的 tagName 属性 40.text返回元素的文本值 41.click 点击元素 42.submit 提交表单 43.clear 清除输入的内容 44.get_attribute 45.is_selected 返回元素是否选择 46.is_enabled 返回元素是否可用 47.find_element_by_id通过元素的 ID 定位元素 48.find_elements_by_id通过元素 ID 定位,含有该属性的所有元素 49.find_element_by_name 通过元素 Name 定位 50.find_elements_by_name 51.find_element_by_link_text 通过元素可见链接文本定位 52.find_elements_by_link_text 53.find_element_by_partial_link_text 通过元素部分可见链接文本定位 54.find_elements_by_partial_link_text 55.find_element_by_tag_name 56.find_elements_by_tag_name 57.find_element_by_xpath通过 Xpath 定位元素 58.find_elements_by_xpath 59.find_element_by_class_name 通过元素 class name 属性定位元素 60.find_elements_by_class_name 通过元素 class name 属性定位所有含有该属性的元素 61.find_element_by_css_selector 通过 CSS 选择器定位元素 62.send_keys在元素中模拟输入 63.is_displayed此元素用户是否可见 64.size (获取元素的大小) 65.value_of_css_property CSS 属性 66.location (获取元素左上角的坐标) 67.rect元素的大小和位置的字典 68.screenshot_as_base64 获取当前元素的截图为 Base64 编码的字符串 69.execute_script 同步执行 javascript 代码 70.execute_async_script 插入 javascript 代码 71.current_url获取当前页面的网址 72.page_source 获取当前页面的源 73.close关闭当前窗口 74.quit 退出脚本运行并关闭每个相关的窗口连接 重要的话 Appium API
前言
Appium Python API 全集可以查看所有的帮助文档 1.contexts 返回当前会话中的上下文使用后可以识别 H5 页面的控件
contexts(self): Returns the contexts within the current session. #返回当前会话中的上下文使用后可以识别 H5 页面的控件:Usage: driver.contexts
用法 driver.contexts 2.current_context 返回当前会话的当前上下文
current_context(self): Returns the current context of the current session. #返回当前会话的当前上下文 :Usage:driver.current_context
用法 driver. current_context 3. context 返回当前会话的当前上下文
context(self): Returns the current context of the current session. #返回当前会话的当前上下文。 :Usage: driver.context
用法 driver. Context 4.find_element_by_ios_uiautomation通过 iOS uiautomation 查找元素
find_element_by_ios_uiautomation(self, uia_string):
Finds an element by uiautomation in iOS. #通过 iOS uiautomation 查找元素:Args: -uia_string - The element name in the iOS UIAutomation library :Usage:
driver.find_element_by_ios_uiautomation(.elements()[1 ].cells()[2])
用法 dr. find_element_by_ios_uiautomation(‘elements’) 5.find_element_by_accessibility_id通过 accessibility id 查找元素
find_element_by_accessibility_id(self, id):
Finds an element by accessibility id. #通过 accessibility id 查找元素 :Args:-d - a string corresponding to a recursive element search using the-Id/Name that the native Accessibility options utilize :Usage: driver.find_element_by_accessibility_id() 用法 driver.find_element_by_accessibility_id(‘id’) 6.scroll 从元素 origin_el 滚动至元素 destination_el tap(self, positions, durationNone):Taps on an particular place with up to five fingers, holding for a certain time #模拟手指点击最多五个手指可设置按住时间长度毫秒 :Args: - positions - an array of tuples representing the x/y coordinates of the fingers to tap. Length can be up to five. - duration - (optional) length of time to tap, in ms :Usage: driver.tap([(100, 20), (100, 60), (100, 100)], 500) 用法 driver.tap([(x,y),(x1,y1)],500)7.drag_and_drop将元素 origin_el 拖到目标元素 destination_el drag_and_drop(self, origin_el, destination_el): Drag the origin element to the destination element #将元素 origin_el 拖到目标元素 destination_el :Args: -originEl - the element to drag -destinationEl - the element to drag to 用法 driver.drag_and_drop(el1,el2) 8.tap 模拟手指点击最多五个手指可设置按住时间长度毫秒 tap(self, positions, durationNone):Taps on an particular place with up to five fingers, holding for a certain time #模拟手指点击最多五个手指可设置按住时间长度毫秒 :Args: - positions - an array of tuples representing the x/y coordinates of the fingers to tap. Length can be up to five. - duration - (optional) length of time to tap, in ms :Usage: driver.tap([(100, 20), (100, 60), (100, 100)], 500) 用法 driver.tap([(x,y),(x1,y1)],500)9.swipe 从 A 点滑动至 B 点滑动时间为毫秒
swipe(self, start_x, start_y, end_x, end_y, durationNone):
Swipe from one point to another point, for an optional duration. #从 A 点滑动至 B 点滑动时间为毫秒 :Args: - start_x - x-coordinate at which to start - start_y - y-coordinate at which to start - end_x - x-coordinate at which to stop - end_y - y-coordinate at which to stop - duration - (optional) time to take the swipe, in ms. :Usage: driver.swipe(100, 100, 100, 400) 用法 driver.swipe(x1,y1,x2,y2,500) 10.flick 按住 A 点后快速滑动至 B 点 flick(self, start_x, start_y, end_x, end_y): Flick from one point to another point. #按住 A 点后快速滑动至 B 点 :Args: - start_x - x-coordinate at which to start - start_y - y-coordinate at which to start - end_x - x-coordinate at which to stop - end_y - y-coordinate at which to stop :Usage: driver.flick(100, 100, 100, 400)
用法 driver.flick(x1,y1,x2,y2) 11.pinch 在元素上执行模拟双指捏缩小操作
pinch(self, elementNone, percent200, steps50):
Pinch on an element a certain amount#在元素上执行模拟双指捏缩小操作 :Args: - element - the element to pinch - percent - (optional) amount to pinch. Defaults to 200% - steps - (optional) number of steps in the pinch action :Usage: driver.pinch(element)
用法 driver.pinch(element) 12.zoom 在元素上执行放大操作
zoom(self, elementNone, percent200, steps50):
Zooms in on an element a certain amount #在元素上执行放大操作 :Args: - element - the element to zoom - percent - (optional) amount to zoom. Defaults to 200% - steps - (optional) number of steps in the zoom action :Usage: driver.zoom(element) 用法 driver.zoom(element) 13.reset 重置应用(类似删除应用数据)
reset(self):
Resets the current application on the device.
重置应用(类似删除应用数据)
用法driver.reset() 14 hide_keyboard 隐藏键盘,iOS 使用 key_name 隐藏安卓不使用参数
hide_keyboard(self, key_nameNone, keyNone, strategyNone):Hides the software keyboard on the device. In iOS, use key_name to press a particular key, or strategy. In Android, no parameters are used. #隐藏键盘,iOS 使用 key_name 隐藏安卓不使用参数 :Args: - key_name - key to press - strategy - strategy for closing the keyboard (e.g., tapOutside)
driver.hide_keyboard() 15 keyevent 发送按键码安卓仅有按键码可以上网址中找到
eyevent(self, keycode, metastateNone):
Sends a keycode to the device. Android only. Possible keycodes can be found in http://developer.android.com/reference/android/view/KeyEvent.html.#发送按键码安卓仅有按键码可以上网址中找到 :Args: - keycode - the keycode to be sent to the device - - metastate - meta information about the keycode being sent 用法 dr.keyevent(‘4’)16 press_keycode 发送按键码安卓仅有按键码可以上网址中找到
press_keycode(self, keycode, metastateNone):
Sends a keycode to the device. Android only. Possible keycodes can be found in http://developer.android.com/reference/android/view/KeyEvent.html. # 发送按键码安卓仅有按键码可以上网址中找到 :Args: - keycode - the keycode to be sent to the device - metastate - meta information about the keycode being sent 用法 driver.press_ keycode(‘4’) # dr.keyevent(‘4’)与 driver.press_ keycode(‘4’) 功能实现上一样的都是按了返回键17.long_press_keycode发送一个长按的按键码长按某键
long_press_keycode(self, keycode, metastateNone):
Sends a long press of keycode to the device. Android only. Possible keycodes can be found in http://developer.android.com/reference/android/view/KeyEvent.html.
#发送一个长按的按键码长按某键 :Args: - keycode - the keycode to be sent to the device - metastate - meta information about the keycode being sent
用法 driver.long_press_keycode(‘4’) 18.current_activity 获取当前的 activity
current_activity(self):
Retrieves the current activity on the device.
#获取当前的 activity
用法 print(driver.current_activity()) 19.wait_activity等待指定的 activity 出现直到超时interval 为扫描间隔 1 秒 即每隔几秒获取一次当前的 activity
wait_activity(self, activity, timeout, interval1):
Wait for an activity: block until target activity presents or time out. This is an Android-only method. # 等待指定的 activity 出现直到超时interval 为扫描间隔 1 秒 即每隔几秒获取一次当前的 activity 返回的 True or False :Agrs: - activity - target activity - timeout - max wait time, in seconds - interval - sleep interval between retries, in seconds
用法 driver.wait_activity(‘.activity.xxx’,5,2) 20.background_app 后台运行 app 多少秒
background_app(self, seconds):
Puts the application in the background on the device for a certain duration.
#后台运行 app 多少秒 :Args:- seconds - the duration for the application to remain in the background
用法 driver.background_app(5) 置后台 5 秒后再运行 21.is_app_installed 检查 app 是否有安装
is_app_installed(self, bundle_id):
Checks whether the application specified by bundle_id is installed on the device. # 检查 app 是否有安装
返回 True or False :Args:- bundle_id - the id of the application to query
用法 driver.is_app_installed(“com.xxxx”) 22.install_app 安装 app,app_path 为安装包路径
install_app(self, app_path):
Install the application found at app_path on the device.
#安装 app,app_path 为安装包路径:Args:- app_path - the local or remote path to the application to install
用法 driver.install_app(app_path)23.remove_app 删除 app
remove_app(self, app_id):
Remove the specified application from the device.#删除 app:Args:- app_id - the application id to be removed
用法 driver.remove_app(“com.xxx.”) 24.launch_app启动 app
launch_app(self):
Start on the device the application specified in the desired capabilities. # 启动 app
用法 driver.launch_app() 25.close_app 需要注意的是启动和关闭 app 运行好像会出错
close_app(self):
Stop the running application, specified in the desired capabilities, on the device. #关闭 app 用法
driver.close_app() #需要注意的是启动和关闭 app 运行好像会出错 26.start_activity 在测试过程中打开任意活动。如果活动属于另一个应用程序该应用程序的启动和活动被打开。这是一个安卓的方法
start_activity(self, app_package, app_activity, **opts):
Opens an arbitrary activity during a test. If the activity belongs toanother application, that application is started and the activity is opened. This is an Android-only method. #在测试过程中打开任意活动。如果活动属于另一个应用程序该应用程序的启动和活动被打开。这是一个安卓的方法 :Args: - app_package - The package containing the activity to start. - app_activity - The activity to start. - app_wait_package - Begin automation after this package starts (optional). - app_wait_activity - Begin automation after this activity starts (optional). - intent_action - Intent to start (optional). - intent_category - Intent category to start (optional). - intent_flags - Flags to send to the intent (optional). - optional_intent_arguments - Optional arguments to the intent (optional). - stop_app_on_reset - Should the app be stopped on reset (optional)
用法 driver.start_activity(app_package, app_activity) 27.lock 锁屏一段时间 iOS 专有
lock(self, seconds):
Lock the device for a certain period of time. iOS only.#锁屏一段时间 iOS 专有:Args: - the duration to lock the device, in seconds
用法 driver.lock() 28.shake 摇一摇手机
shake(self):
Shake the device.
#摇一摇手机
用法 driver.shake()29.open_notifications 打系统通知栏仅支持 API 18 以上的安卓系统
open_notifications(self):
Open notification shade in Android (API Level 18 and above)
#打系统通知栏仅支持 API 18 以上的安卓系统
用法 driver.open_notifications() 30.network_connection#返回网络类型数值
network_connection(self):
Returns an integer bitmask specifying the network connection type.Android only.
#返回网络类型数值 Possible values are available through the enumeration appium.webdriver.ConnectionType
用法 driver.network_connection 31.set_network_connection 设置网络类型
set_network_connection(self, connectionType):
Sets the network connection type. Android only. Possible values: Value (Alias) | Data | Wifi | Airplane Mode ------------------------------------------------- 0 (None) | 0 | 0 | 0 1 (Airplane Mode) | 0 | 0 | 1 2 (Wifi only) | 0 | 1 | 0 4 (Data only) | 1 | 0 | 0 6 (All network on) | 1 | 1 | 0 These are available through the enumeration appium.webdriver.ConnectionType #设置网络类型 :Args:- connectionType - a member of the enum appium.webdriver.ConnectionType
用法 先加载 from appium.webdriver.connectiontype import ConnectionType
dr.set_network_connection(ConnectionType.WIFI_ONLY)
ConnectionType 的类型有
NO_CONNECTION 0
AIRPLANE_MODE 1
WIFI_ONLY 2
DATA_ONLY 4
ALL_NETWORK_ON 6 32.available_ime_engines返回安卓设备可用的输入法
available_ime_engines(self):
Get the available input methods for an Android device. Package and activity are returned (e.g.,
[com.android.inputmethod.latin/.LatinIME]) Android only.
#返回安卓设备可用的输入法
用法 print(driver.available_ime_engines) 33.is_ime_active i检查设备是否有输入法服务活动。返回真/假
s_ime_active(self):
Checks whether the device has IME service active.
Returns True/False. Android only.
#检查设备是否有输入法服务活动。返回真/假 .(仅安卓)
用法 print(driver.is_ime_active()) 34.activate_ime_engine 激活安卓设备中的指定输入法设备可用输入法可以从 “available_ime_engines”获取
activate_ime_engine(self, engine):
Activates the given IME engine on the device.Android only. #激活安卓设备中的指定输入法设备可用输入法可以从 “available_ime_engines”获取 :Args:- engine - the package and activity of the IME engine to activate (e.g., com.android.inputmethod.latin/.LatinIME)
用法driver.activate_ime_engine(“com.android.inputmethod.latin/.LatinIME ”)35.deactivate_ime_engine 关闭安卓设备当前的输入法
deactivate_ime_engine(self):
Deactivates the currently active IME engine on the device. Android only.
#关闭安卓设备当前的输入法
用法 driver.deactivate_ime_engine()36.active_ime_engine 返回当前输入法的包名
active_ime_engine(self):
Returns the activity and package of the currently active IME engine (e.g., com.android.inputmethod.latin/.LatinIME).Android only.#返回当前输入法的包名
用法 driver.active_ime_engine 37.toggle_location_services 打开安卓设备上的位置定位设置
toggle_location_services(self):
Toggle the location services on the device. Android only.
#打开安卓设备上的位置定位设置
用法 driver.toggle_location_services() 38.set_location 设置设备的经纬度
set_location(self, latitude, longitude, altitude):
Set the location of the device 设置设备的经纬度 :Args:- latitude 纬度 - String or numeric value between -90.0 and 90.00 - longitude 经度 - String or numeric value between -180.0 and 180.0 - altitude 海拔高度- String or numeric value
用法 driver.set_location(纬度经度高度) 39.tag_name返回元素的 tagName 属性
tag_name(self):
This elements tagName property.
#返回元素的 tagName 属性
#经实践返回的是 class name
用法 element.tag_name() 40.text返回元素的文本值
text(self):
The text of the element.
#返回元素的文本值
用法 element.text() 41.click 点击元素
click(self):
Clicks the element.
#点击元素
用法 element.click() 42.submit 提交表单
submit(self):
Submits a form.
#提交表单
#用法 暂无记得好像有这样一个API不常用给忘了..43.clear 清除输入的内容
clear(self):
Clears the text if its a text entry element.
#清除输入的内容
用法 element.clear() 44.get_attribute
get_attribute(self, name):
Gets the given attribute or property of the element.
# 1、获取 content-desc 的方法为 get_attribute(name) 而且还不能保证返 回的一定是 content-desc content-desc 为空时会返回 text 属性值
# 2、get_attribute 方法不是我们在 uiautomatorviewer 看到的所有属性都能获 取的此处的名称均为使用 get_attribute 时使用的属性名称
可获取的
字符串类型
name(返回 content-desc 或 text)
text(返回 text)
className( 返 回 class 只 有 API18 才 能 支 持 )
resourceId(返回 resource-id只有 API18 才能支持)This method will first try to return the value of a property with the given name. If a property with that name doesnt exist, it returns the value of the attribute with the same name. If theres no attribute with that name, None is returned. Values which are considered truthy, that is equals true or false,are returned as booleans. All other non-None values are returnedas strings. For attributes or properties which do not exist, Noneis returned. :Args:- name - Name of the attribute/property to retrieve.
#Example:# Check if the active CSS class is applied to an element. is_active active in target_element.get_attribute(class) #用法 45.is_selected 返回元素是否选择
is_selected(self):
Returns whether the element is selected.Can be used to check if a checkbox or radio button is selected.
#返回元素是否选择。
#可以用来检查一个复选框或单选按钮被选中。
用法 element.is_slected() 46.is_enabled 返回元素是否可用
is_enabled(self):
Returns whether the element is enabled.#返回元素是否可用 True of False
用法 element.is_enabled() 47.find_element_by_id通过元素的 ID 定位元素
find_element_by_id(self, id_):
Finds element within this elements children by ID.
#通过元素的 ID 定位元素:Args:- id_ - ID of child element to locate.
用法 driver. find_element_by_id(“id”) 48.find_elements_by_id通过元素 ID 定位,含有该属性的所有元素
find_elements_by_id(self, id_):
Finds a list of elements within this elements children by ID.#通过元素 ID 定位,含有该属性的所有元素 :Args:- id_ - Id of child element to find.
用法 driver. find_elements_by_id(“id”) 49.find_element_by_name 通过元素 Name 定位
find_element_by_name(self, name):
Finds element within this elements children by name. #通过元素 Name 定位元素的名称属性 text:Args:- name - name property of the element to find.
用法 driver.find_element_by_name(“name”) 50.find_elements_by_name
find_elements_by_name(self, name):
Finds a list of elements within this elements children by name.#通过元素 Name 定位元素的名称属性 text含有该属性的所有元素:Args:- name - name property to search for.
用法 driver.find_element_by_name(“name”) 51.find_element_by_link_text 通过元素可见链接文本定位
find_element_by_link_text(self, link_text):
Finds element within this elements children by visible link text.#通过元素可见链接文本定位:Args:- link_text - Link text string to search for.
用法 driver.find_element_by_link_text(“text”) 52.find_elements_by_link_text
find_element_by_link_text(self, link_text):
Finds a list of elements within this elements children by visible link text#通过元素可见链接文本定位,含有该属性的所有元素:Args:- link_text - Link text string to search for.
用法 driver.find_elements_by_link_text(“text”) 53.find_element_by_partial_link_text 通过元素部分可见链接文本定位
find_element_by_partial_link_text(self, link_text):
Finds element within this elements children by partially visible link text.#通过元素部分可见链接文本定位:Args:- link_text - Link text string to search for.
用法driver. find_element_by_partial_link_text(“text”) 54.find_elements_by_partial_link_text
find_elements_by_partial_link_text(self, link_text):
Finds a list of elements within this elements children by link text. #通过元素部分可见链接文本定位,含有该属性的所有元素 :Args:- link_text - Link text string to search for.
用法driver. find_elements_by_partial_link_text(“text”)55.find_element_by_tag_name
find_element_by_tag_name(self, name):
Finds element within this elements children by tag name. #通过查找 html 的标签名称定位元素:Args:- name - name of html tag (eg: h1, a, span)
用法 driver.find_element_by_tag_name(“name”)56.find_elements_by_tag_name
find_elements_by_tag_name(self, name):
Finds a list of elements within this elements children by tag name.#通过查找 html 的标签名称定位所有元素:Args: -name - name of html tag (eg: h1, a, span)
用法 driver.find_elements_by_tag_name(“name”) 57.find_element_by_xpath通过 Xpath 定位元素
find_element_by_xpath(self, xpath):
Finds element by xpath.#通过 Xpath 定位元素:Args: xpath- xpath of element to
locate. //input[classmyelement] Note: The base path will be relative to this elements location. This will select the first link under this element. ::myelement.find_elements_by_xpath(.//a) However, this will select the first link on the page. :: myelement.find_elements_by_xpath(//a)用法 find_element_by_xpath(“//*”) 58.find_elements_by_xpath
find_elements_by_xpath(self, xpath):
Finds elements within the element by xpath. #通过 Xpath 定位元素:Args:- xpath - xpath locator string.
Note: The base path will be relative to this elements location.
This will select all links under this element.
::myelement.find_elements_by_xpath(.//a)
However, this will select all links in the page itself.
::myelement.find_elements_by_xpath(//a)
用法 find_elements_by_xpath(“//*”) 59.find_element_by_class_name 通过元素 class name 属性定位元素
find_element_by_class_name(self, name):
Finds element within this elements children by class name. #通过元素 class name 属性定位元素 :Args:- name - class name to search for.
用法 driver.find_element_by_class_name(“android.widget.LinearLayout”) 60.find_elements_by_class_name 通过元素 class name 属性定位所有含有该属性的元素
find_elements_by_class_name(self, name):
Finds a list of elements within this elements children by class name.#通过元素 class name 属性定位所有含有该属性的元素 :Args:- name - class name to search for.
用法 driver. find_elements_by_class_name(“android.widget.LinearLayout”) 61.find_element_by_css_selector 通过 CSS 选择器定位元素
find_element_by_css_selector(self, css_selector):
Finds element within this elements children by CSS selector.#通过 CSS 选择器定位元素:Args:- css_selector - CSS selctor string, ex: a.nav#home 62.send_keys在元素中模拟输入
send_keys(self, *value):
Simulates typing into the element.在元素中模拟输入开启 appium 自带的输入法并配置了 appium 输入法 后可以输入中英文 :Args:- value - A string for typing, or setting form fields. For setting file inputs, this could be a local file path. Use this to send simple key events or to fill out form fields:: form_textfield
driver.find_element_by_name(username)form_textfield.send_keys(admin) This can also be used to set file inputs. ::file_input driver.find_element_by_name(profilePic) file_input.send_keys(path/to/profilepic.gif)# Generally its better to wrap the file path in one of the methods # in os.path to return the actual path to support cross OS testing. #file_input.send_keys(os.path.abspath(path/to/profilepic.gif))
用法 driver.element.send_keys(“中英”) 63.is_displayed此元素用户是否可见
is_displayed(self):
Whether the element is visible to a user.
#此元素用户是否可见
#简单地说就是隐藏元素和被控件挡住无法操作的元素仅限 Seleniumappium 是否实现了类似功能不是太确定这一项都会返回 False
用法 driver.element.is_displayed() 64.size (获取元素的大小)
size(self):
The size of the element.
#获取元素的大小高和宽
new_size[height] size[height]
new_size[width] size[width]
用法 driver.element.size 65.value_of_css_property CSS 属性
value_of_css_property(self, property_name):
The value of a CSS property.#CSS 属性 用法 用的少但是有66.location (获取元素左上角的坐标)
location(self):
The location of the element in the renderable canvas. #获取元素左上角的坐标
用法 driver.element.location
返回 element 的x 坐标, int 类型
driver.element.location.get(x)
返 回 element 的 y 坐标, int 类型 driver.element.location.get(y)67.rect元素的大小和位置的字典
rect(self):
A dictionary with the size and location of the element.
#元素的大小和位置的字典 68.screenshot_as_base64 获取当前元素的截图为 Base64 编码的字符串
screenshot_as_base64(self): Gets the screenshot of the current element as a base64 encoded string.#获取当前元素的截图为 Base64 编码的字符串 :Usage: img_b64 element.screenshot_as_base64 69.execute_script 同步执行 javascript 代码
execute_script(self, script, *args):Synchronously Executes JavaScript in the current window/frame.
#在当前窗口/框架特指 Html 的 iframe 同步执行 javascript 代码
#你可 以理解为如果这段代码是睡眠 5 秒这五秒内主线程的 javascript 不会执行 :Args:- script: The JavaScript to execute. - \*args: Any applicable arguments for your JavaScript. :Usage: driver.execute_script(document.title) 70.execute_async_script 插入 javascript 代码
execute_async_script(self, script, *args): Asynchronously Executes JavaScript in the current window/frame.
#插入 javascript 代码
#只是这个是异步的也就是如果你的代码是睡眠5秒
#那么你只是自己在睡页面的其他 javascript 代码还是照常执行:Args:- script: The JavaScript to execute.- \*args: Any applicable arguments for your JavaScript. :Usage:driver.execute_async_script(document.title) 71.current_url获取当前页面的网址
current_url(self):Gets the URL of the current page.#获取当前页面的网址 :Usage:driver.current_url
用法 driver.current_url 72.page_source 获取当前页面的源
page_source(self):Gets the source of the current page. #获取当前页面的源 :Usage:
用法 driver.page_source 73.close关闭当前窗口
close(self):Closes the current window. #关闭当前窗口 :Usage:driver.close()74.quit 退出脚本运行并关闭每个相关的窗口连接
quit(self): Quits the driver and closes every associated window. #退出脚本运行并关闭每个相关的窗口连接 :Usage:driver.quit(重要的话