selenium--(一)

瀏覽器操作

driver

#coding=UTF-8

from selenium import webdriver
import time

if __name__ =='__main__':
    driver = webdriver.Firefox(executable_path='D:\Mozilla Firefox')
    #get方法等待頁面加載完成
    driver.get('http://www.baidu.com')
    time.sleep(2)
    driver.get('http://www.taobao.com')

    #退後
    driver.back()
    #向前
    driver.forward()
    #刷新
    driver.refresh()

    #最大化
    driver.maximize_window()
    #設置瀏覽器大小
    driver.set_window_size()
    #截圖
    driver.get_screenshot_as_png()

    #當前頁的標題、當前打開鏈接、當前頁面源代碼
    print driver.title
    print driver.current_url
    print driver.page_source

xpath語法

XPATH
#/表示絕對路徑
#//相對路徑
#.當前層
#..上一層
#@表示屬性
#*表示通配符
#[]謂語,查詢條件
#函數text(),last()取結尾,starts-with()以什麼開始兩個參數,not()否定,contains()包含
//title[contains(text(),’X’)]

元素操作

 #coding=UTF-8
from selenium import webdriver
import time

    # input框
    element = driver.find_element_by_id('user')
    element.click()
    element.clear()
    element.submit()
    element.send_keys('1234')

    #默認顯示內容的input框,獲取屬性值(默認顯示內容)
    element = driver.find_element_by_id('text')
    print element.get_attribute('value')

    #獲取text的內容
    element = driver.find_element_by_class_name()
    print element.text

    #隱藏的元素,判斷是否顯示
    element = driver.find_element_by_id('img_good')
    print element.is_displayed()
    #返回true/false

    #解決:點擊頁面鏈接後跳轉,打開新的頁面跳轉
    #獲取到鏈接跳轉的URL
    #用driver.get()在當前頁打開鏈接
    element = driver.find_element_by_xpath("//div[@id='link']/a")
    link = element.get_attribute('href')
    driver.get(link)

  #select框
  from selenium.webdriver.support.select import Select
  import random

    element = driver.find_element_by_xpath("//div[@id='select']/select/")
    #實例化的時候需要參數(元素)
    select = Select(element)
    select.select_by_index(3)
    time.sleep(2)
    select.deselect_by_value('2')
    time.sleep(2)
    select.select_by_visible_text('BMW')

    #隨機選select
    index = random.randint(0,len(select.options)-1)

    #redio
    element = driver.find_element_by_xpath("//div[@id='radio']/input[@class='Audi']")
    element.click()
    time.sleep(2)
    print element.is_selected()


#checkbox
    #用XPath獲取到所有checkbox的集合
    checkboxs = driver.find_element_by_xpath("//div[@id='checkbox']/input")
    #遍歷勾選所有的CheckBox
    for i in checkboxs:
        i.click()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章