Selenium2相关知识最全总结

  

1。定位元素的几种方法

find_element_by_id(优先,常用),对应的是id属性

find_element_by_name(优先,常用),对应的是名字属性

find_element_by_class_name,对应的是类属性的值

find_element_by_tag_name,对应的是标签名称,如输入,p,跨度,标题,正文....

find_element_by_link_text,对应的是超链接的文本内容

find_element_by_partial_link_text,对应的是部分超链接的文本内容

find_element_by_xpath,对应的是元素的路径,可通过firebug工具获得

find_element_by_css_selector,通过css属性定位,类用。id用#

示例:

driver.find_element_by_css_selector ()。send_keys (

driver.find_element_by_css_selector () .click ()


2。由定位

find_element (By.ID,千瓦)

find_element (By.NAME, " wd ")

find_element (By.CLASS_NAME, s_ipt)

find_element (By.TAG_NAME,“输入”)

find_element (By.LINK_TEXT u”新闻”)

find_element (By.PARTIAL_LINK_TEXT u“新”)

find_element(通过。XPATH, "//* [@class=' bg s_btn ']”)

find_element(跨度By.CSS_SELECTOR。”bg s_btn_wr>输入#苏”)


3。几种浏览器操作

从硒进口webdriver

司机=webdriver.Ie()——即浏览器,插件名为IEDriverServer。exe

司机=webdriver.Firefox()——火狐浏览器,插件名为geckodriver。exe

司机=webdriver.Chrome()——谷歌浏览器,插件名为chromedriver。exe

司机=webdriver.Edge()——边缘浏览器(windows10系统自带),无需插件

操作360浏览器:

360浏览器内核基于chrome浏览器,因此插件用的也是chromedriver。exe,不过得配置下

chrome_options=webdriver.ChromeOptions ()

chrome_options。binary_location=r " C: \ \凯文\ AppData \漫游用户\ 360 se6 \程序\ 360 se。exe”#这里是360年安全浏览器的路径

chrome_options.add_argument (r - lang=应用)#这里添加一些启动的参数

d=webdriver.Chrome (chrome_options=chrome_options)

4。控制浏览器

设置宽高:driver.set_window_size(400500), - - - - - -设置宽400,高500

设置全屏:driver.maximize_windows ()

前进:driver.forward ()

后退:driver.back ()

刷新当前页面:driver.refresh ()

5。定位到的元素操作

driver.find_element_by_xx (' xx ') .click()——点击操作

driver.find_element_by_xx (' xx ') .clear()——清除操作,清除文本框中的内容

driver.find_element_by_xx (' xx ') .send_keys(‘123’)——输入数据到文本框

driver.find_element_by_xx (“xx”)。submit()——提交操作,相当于回车,如在搜索框中输入内容后,执行此方法,可直接执行搜索动作

driver.find_element_by_xx (' xx ') .size(),获取元素的尺寸

driver.find_element_by_xx (“xx”)。文本——获取元素的文本

driver.find_element_by_xx .get_attribute (“xx”) (“id”)获取身份证属性,只要是属性都可通过此方法获取,如名称、id、类型、类。

driver.find_element_by_xx (' xx ') .is_displayed(),获取元素是否可见,可见返回真,否则假

6。鼠标事件

操作类中提供了鼠标操作的常用方法

执行()——执行所有操作类中存储的行为

context_click()——右击

double_click()——双击

drap_and_drop()——拖动

move_to_element——悬停


调用示例:

context_click ()

 selenium.webdriver.common.action_chains ActionChains
  
  司机=webdriver.Ie ()
  right_click=driver.find_element_by_id ()
  ActionChains(司机).context_click (right_click) .perform () 

其他的方法调用同上,只是改下方法而已


7。键盘操作

模拟组合键CTRL + A, CTRL + C等等从selenium.webdriver.common.keys

进口键退格键键。BACK_SPACE——driver.find_elemennt_by_id (") .send_keys (Keys.BACK_SPACE)

空格键键。空间——driver.find_elemennt_by_id (") .send_keys (Keys.SPACE)

输入CTRL + A - - - driver.find_elemennt_by_id (") .send_keys (Keys.CONTROL, ' ')

回车键- - - driver.find_elemennt_by_id (") .send_keys (Keys.ENTER)


8。设置元素等待

显式等待:

一直检测并等待某个元素出现或消失,达到最大时长条件还未成立则抛出超时异常

从硒进口webdriver selenium.webdriver.support

。ui进口WebDriverWait selenium.webdriver

。支持导入expected_conditions EC

司机=webdriver.Ie ()
driver.get (“https://www.baidu.com”)

元素=WebDriverWait(司机,5,0.5)。直到(

EC。(By.id presence_of_ element_located(千瓦))

Selenium2相关知识最全总结