1. 程式人生 > 其它 >python筆記3

python筆記3

1.富文字編輯器

from selenium import webdriver
import time as t
driver=webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.bejson.com/ui/ueditor/')
#進入iframe框架
driver.switch_to.frame('ueditor_0')
t.sleep(3)
driver.find_element_by_xpath('/html/body/p').send_keys('我愛中國')
t.sleep(3)
driver.quit()

2.js方法的富文字處理

from selenium import webdriver
import time as t
def richText(driver,richID,content):
  '''
  :param driver: 指的是webdriver例項化後的物件
  :param richID: iframe框架的ID
  :param content: 被輸入的內容
  :return:
  '''
js="document.getElementById('{0}').contentWindow.document.body.innerHTML='{1} '".format(richID,content)
  driver.execute_script(js)
  driver 
= webdriver.Chrome() driver.maximize_window() driver.get('https://www.bejson.com/ui/ueditor/') richText(driver=driver,richID='ueditor_0',content='我愛中國') t.sleep(3) driver.quit()

3.WebDriverWait類的詳解

等待UI自動化測試中,存在三種情況:

(1)固定等待:呼叫time模組中的sleep()方法,固定等待幾秒

(2)隱式等待:使用的方法是implicitly_wait(),設定最長等待時間

(3)顯示等待:程式每隔一段時間執行自定義的程式判斷條件。案例主要以顯示等待來演示它的應用,使用到的類式.WebDriverWait的類

4.顯示等待的三種條件

(1)元素是否可見並點選:element_to_be_clickable

from selenium import webdriver
import time as t
'''webdriverwait放在wait模組下,匯入webdriverwait並且對他進行例項化'''
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as es from selenium.webdriver.common.by import By driver=webdriver.Chrome() driver.maximize_window() driver.implicitly_wait(30) driver.get('http://www.baidu.com') so=WebDriverWait(driver=driver,timeout=10).until(es.element_to_be_clickable((By.ID,'kw'))) so.send_keys('hello world') t.sleep(3) driver.quit()

(2)指定元素的文字位置:text_to_be_present_element

from selenium import webdriver
import time as t
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as es
from selenium.webdriver.common.by import By
driver=webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get('https://mail.sina.com.cn/')
driver.find_element_by_id('freename').send_keys('')
driver.find_element_by_id('freepassword').send_keys('')
driver.find_element_by_link_text('登入').click()
t.sleep(3)
search=WebDriverWait(driver=driver,timeout=5).until(es.text_to_be_present_in_element( (By.XPATH,'/html/body/div[3]/div/div[2]/div/div/div[4]/div[1]/div[1]/div[1]/span[1]'),'請輸入郵箱名'))
t.sleep(3)
driver.quit()

(3)元素是否可見:visibility_of_element_located

from selenium import webdriver
import time as t
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as es
from selenium.webdriver.common.by import By
driver=webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(30)
driver.get('http://www.baidu.com')
search=WebDriverWait(driver=driver,timeout=3).until(es.visibility_of_element_located((By.ID,'kw')))
search.send_keys('我愛中國')
t.sleep(3)
driver.quit()

5.python面向物件

(1)類屬性的範疇

1.屬於物件
2.屬於類的
類屬性是屬於類的
例項屬性它屬於類的物件
那麼我們呼叫類裡面的任何方法,首先是對類進行例項化,得到類的物件,然後使用類的物件呼叫類的方法
#使用class語句建立person類,object是基類
class
Person(object): # 類屬性 country = 'china' #_init_()為類的建構函式,即初始化方法 def __init__(self,name,age): '''初始化''' print('開始執行') #self代表類的例項化屬性
        self.name=name
        self.age=age
    def show(self):
        print('my name is {0},and my age is {1},and my country is china'.format(self.name,self.age))
        #解構函式,類的物件回收,即清理類的物件的操作
    def __del__(self):
        '''清理操作'''
        print('執行結束')
#建立類的物件
obj=Person(name='liuxun',age=21,)
print(obj.country)
print(Person(name='liuxun',age=21,).country)
#呼叫show()函式
obj.show()

(2)python內建類屬性

__dict__ : 類的屬性(包含一個字典,由類的資料屬性組成)

__doc__ :類的文件字串