Selenium基础篇

frame定位

  1. iframe有id或者有name的情况,可以按照switch_to.frame("id")或者是switch_to.frame("name")
  2. 如果ifame既没有id也没有name
    1. 通常可以 定位frame位置,并选取frame
      framea = driver.find_element_by_xpath("/html/body/......div/iframe")
      driver.stwitch_to.frame(framea) 

    2. 或者可以用tag_name来定位:
      framea =  driver.find_element_by_tag_name("iframe")
      driver.switch_to.frame(framea)

  3. 跳出iframe,进入default content
    driver.switch_to.default_content()
  4. 当涉及到多frame嵌套切换的时候,可以使用以下三个方法实现自由切换
    • driver.switch_to.parent_frame()
    • driver.switch_to.frame()
    • driver.switch_to.default_content()

xpath定位

1.div[1]与div使用时需小心,div[1]表示同一层下存在多个div,要定位的是第一个div,而div则表示同一层下只有一个div。
当同一层下有多个div,想要定位第一个div时,[1]不可省略。 

Properties of the WebDriver class(webdriver class提供以下属性访问浏览器)

Property/attribute
Description
Example
current_url 获得显示在browser上的current url driver.current_url
current_window_handle 获得当前窗口的handle driver.current_window_handle
name

This gets the name of the underlying browser for this instance

driver.name
orientation 获得当前设备方向 driver.orientation
page_source 获得当前页面的source driver.page_source
title 获得当前页面的title driver.title
window_handles 获得当前session内的所有窗口的handles driver.window_handles

 

Methods of the WebDriver class(与浏览器交互的各种方法)

Method
Description
Example
back() 返回当前session浏览器历史的上一步 driver.back()
close() 关闭当前浏览器窗口 driver.close()
forward() 返回当前session浏览器历史的下一步 driver.forward()
get(url) 导航到或启动浏览器 driver.get("http://www.baidu.com")
maximize_window 窗口最大化 driver.maximize_window()
quit() 退出driver并关闭所有关联窗口 driver.quit()
refresh 创新当前页面 driver.refresh()
switch_to.active_element 获取当前焦点元素 driver.switch_to.active_element.send_keys()
※.send_keys()表示对获取焦点元素进行操作 
switch_to_alert() 切换focus到alert driver.switch_to_alert()
switch_to.default_content() 切换focus到默认frame driver.switch_to.default_content()
switch_to.frame() iframe切换 driver.switch_to_frame('frame name')
switch_to.window(window name) 切换focus到指定window driver.switch_to.window(windowname)
implicity_wait(time to wait) 在指定时间内等待直到找到元素或命令执行完毕  
set_page_load_timeout(time to wait) 设置等待页面全部load完毕的时间 driver.set_page_load_timeout(30)
set_script_timeout(time to wait) 设置异步脚本的超时时间 driver.set_script_timeout(30)

Properties of the WebElement class

Property/attribute
Description
Example
size 获得元素size element.size
tag_name 获得元素的HTML tag name element.tag_name
text 获得元素的text element.text

Methods of the WebElement class

Method
Description
Example
clear() 清除textbox或 text area的元素 element.clear()
click() 点击element element.click()
get_attribute(name) 从element获取属性值 element.get_attribute(xxxx)
is_displayed() check元素对用户是否可见 element.is_displayed()
is_enabled() 判断元素是否被使用 element.is_enabled()
is_selected() 判断元素是否被选择,通常用于check radio button或checkbox element.is_selected()
send_keys() 模拟输入元素 element.send_keys("xxxx")
submit() 提交表单,提交的是parent form element.submit()
value_of_css_property(property_name) 获取CSS property的值 element.value_of_css_property("background_color")

Properties of the Select class

Property/attribute
Description
Example
all_selected_options 获取属于此dropdown或者list的所有selected option的列表 select_element.all_selected_options
first_selected_option 获取dropdown或者list的第一个selected option或者当前selected option select_element.first_selected_option
options 获取dropdown或者list的所有options 列表 select_element.options

Methods of the Select class

Method
Description
Example
select_by_index() 通过索引选取option select_element.select_by_index(1)
select_by_value() 通过value选取options select_element.select_by_value("xxxx")
select_by_visible_text(text) 通过显示的text选取options select_element.select_by_visible_text("xxxx")
deselect_all() 清除multiselect下拉框的所有已选择项目 select_element.deselect_all()
deselect_by_index()    
deselect_by_value()    
deselct_by_visible_text(text)    

 

posted @ 2019-04-10 14:09  caohaizhusha  阅读(199)  评论(0)    收藏  举报