selenium python 指令碼學習筆記(一)

2021-08-11 04:04:17 字數 4815 閱讀 6438

firepath不顯示top window,說明你要定位的目標元素在乙個iframe裡,如果要操作這個元素,首先需要從預設的top window,利用switch_to.frame('iframeid')方法來切換到具體的iframe,然後才能去操作目標元素。

driver.switch_to.default_content() 

driver.switch_to.frame("maintopframe")

autoit**:

;controlfocus("title","text",controlid) edit1=edit instance 1

controlfocus("windows 安全", "","edit1"

; wait 10 seconds for the upload window to

winwait("[class:#32770]","",10)

; set the file name text on the edit field

controlsettext("windows 安全", "", "edit1", "duo.zhang")

sleep(1000)

controlsettext("windows 安全", "", "edit2", "test.123")

sleep(1000)

; click on the open button

controlclick("windows 安全", "","button2");

python呼叫**:

os.system("d:\\login.exe")

#頁面指定位置是否存在某字串

abc=self.driver.find_element_by_id("lasttimediv").text

if u'上次登入時間' in abc:

print ('assertion test pass0.')

else: 

print ('assertion test fail0.')        

#使用斷言判斷

self.assertequal(self.driver.find_element_by_id("lasttimediv").text,u'上次登入時間','未顯示')

#在頁面上是否存在指定字串,不指定位置  

try: 

assert u"上次登入時間" in driver.page_source 

print ('assertion test pass1.') 

except exception as e: 

print ('assertion test fail1.', format(e)) 

#在頁面標題上是否存在指定字串   

if u"上次登入時間" in driver.title : 

print ('assertion test pass2.') 

else: 

print ('assertion test fail2.') 

# 直接把字段寫入xpath表示式,如果通過該xpath能定位到元素,說明這個錯誤字段已經在頁面顯示 

try : 

error_message = driver.find_element_by_xpath(".//*[@id='datagrid-row-r1-2-0']/td[1] and text()='模組訪問統計'").is_displayed() 

print ("test pass. the 模組訪問統計  is display.") 

except exception as e: 

print ("test fail.", format(e)) 

# 通過該目標元素節點,然後通過element.text得到值,在拿得到的text值取和期待的結果去字串匹配

mes1 = driver.find_element_by_css_selector("#datagrid-row-r1-2-0 > td > div.datagrid-cell.datagrid-cell-c1-modulename").text 

try: 

assert mes1 == u'模組訪問統計' 

print ('模組訪問統計 test pass.') 

except exception as e: 

print ("test fail.", format(e)) 

#定位下拉列舉值-----先定位select框,再定位select裡的選項

try: 

driver.find_element_by_id("maincontent_ddllevel").find_element_by_xpath("//option[@value='b+']")

print ('列舉值b+ test pass.')

except exception as e: 

print ('列舉值b+ test fail1.', format(e))

#定位下拉列舉值---直接定位

s1=driver.find_element_by_xpath(".//*[@id='maincontent_ddllevel']/option[@value='b-']").text

if len(s1) == 0:

print ("列舉值b-未找到 test fail")

else:

print ("列舉值b-找到 testpass")

#driver.find_element_by_xpath(".//*[@id='maincontent_ddllevel']/option[@value='b-']").click()

# 選取列舉值:select模組定位select下拉列舉值

s2 = driver.find_element_by_id("maincontent_ddllevel")

select(s2).select_by_visible_text("b")

# 採用遍歷方式,遍歷select下的列舉值

s3= driver.find_element_by_id("maincontent_ddllevel")

options_list=s3.find_elements_by_tag_name("option")

for option in options_list:

print ("value is: " + option.get_attribute("value"))

print ("text is:" +option.text)

if "b-" in option.text:

select_value=option.get_attribute("value")

print ("已找到下拉列表值: " + select_value)

break

from datetime import datetime

timestr=datetime.now().strftime('%y-%m-%d %h:%m:%s')

import operator

try:

assert operator.eq(timestr[0:18], mes3[0:18])==true

print ("訪問時間正確")

except exception as e:   

print ("訪問時間正確test fail.", format(e))

logger.py

#coding=utf-8

import logging

import logging.handlers  

class logger(): 

def __init__(self, logname1, logger): 

logdir=r"d:\test" 

logname = logdir + r"\\" + logname1

fh = logging.filehandler(logname) 

self.logger = logging.getlogger(logger) 

self.logger.setlevel(logging.debug) 

#fh = logging.filehandler(logname) 

fh.setlevel("notset") 

ch = logging.streamhandler() 

ch.setlevel("notset") 

log_format = logging.formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s  -[%(filename)s:%(lineno)d]') 

fh.setformatter(log_format) 

ch.setformatter(log_format) 

self.logger.addhandler(fh) 

self.logger.addhandler(ch) 

def getlog(self): 

return self.logger 

其它py使用

from logger import * 

logger = logger(logname1='log1.txt',logger="supplierinfo.py").getlog()

#以下內容能同時在控制台和log.txt中顯示

logger.info('**商英文名 test pass.') 

selenium python環境搭建

安裝python 2.7.版本,其他版本目前支援不好 嘗試cmd下輸入python,若無法呼叫python,需要將python的安裝路徑 python.exe的儲存位置 新增到path系統變數中 3 安裝pycharm整合開發環境 晚上比較多資料,需要破解。4 配置pycharm 開啟pycharm...

selenium python 安裝使用

selenium官網 selenium簡單教程 selenium完整教程 python基礎教程 注意 上去中如果沒有勾選add python to 安執行命令列,會報 pip 不是內部或外部命令 需要手動進行環境配置即可 執行命令視窗 cmd 輸入以下命令安裝selenium pip install...

selenium python環境搭建

一 初始準備 準備工具如下 因為版本都在更新的,python選擇2.7.xx,setuptoosl選擇平台對應的版本。二 安裝 1.安裝python,安裝目錄c python27 2.setuptools 的安裝也非常簡單,同樣是exe檔案,缺省會找到python的安裝路徑,將安裝到c python...