中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于Python 常用獲取元素 Driver 總結

發布時間:2020-10-24 22:13:03 來源:腳本之家 閱讀:410 作者:夢雨情殤的博客 欄目:開發技術

1、在 Windows 設置臨時環境變量 cmd命令窗口 輸入 path=%path%;E:\soft\python-3.5.2-embed-win32

永久配置,在系統變量下找到path,在Path的最后面添加Python的安裝目錄

D:\Python34,同樣在PATHEXT中添加 .PY;.PYM

然后,輸入python 出現版本信息就成功了。

2、CMD命令窗口,清屏的方法

 import os
 os.system('cls')

如果不要返回值0就是:

 import os
 i=os.system('cls')

3、查看當前系統時間

import time
 #-*-格式時間格式-*-
localtime = time.asctime( time.localtime(time.time()) )
 #-*-格式時間格式[格式化成2009-03-20 11:45:39形式]-*-
time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
 #-*-格式時間格式[時間戳格式]-*-
time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())
 #-*-輸出格式化后的時間-*-
print ("本地時間為 :", localtime)

4、在CMD命令行中,輸入 “python” + “空格”,即 ”python “;將已經寫好的腳本文件拖拽到當前光標位置,然后敲回車運行即可

5、亂碼原因:

因為你的文件聲明為utf-8,并且也應該是用utf-8的編碼保存的源文件。但是windows的本地默認編碼是cp936,也就是gbk編碼,所以在控制臺

直接打印utf-8的字符串當然是亂碼了。

解決方法:

在控制臺打印的地方用一個轉碼就ok了,打印的時候這么寫:

 print myname.decode('UTF-8').encode('GBK') 

比較通用的方法應該是:

 import sys
 type = sys.getfilesystemencoding()
 print myname.decode('UTF-8').encode(type)
 
 
 #-*-coding:UTF-8-*- 或者 import sys
 reload(sys)
 sys.setdefaultencoding('UTF-8')

6、其實要驅動chrome瀏覽器必須要依賴Chromedriver文件才行,

下載地址:

http://code.google.com/p/chromedriver/downloads/list

找到適合你自己系統的包之后下載解壓出Chromedriver文件,并將此文件拷貝到java項目的根目錄。還是拿上此教程的為例,我們直接爸chromedriver文件拷貝到HelloSelenium項目的根目錄下也就是HelloSelenium目錄下。這樣就可以直接運行了。

7、 安裝pyse : 將其克隆到本地,將pyse目錄放到..\Python27\Lib\site-packages\目錄下。

https://github.com/defnngj/pyse

python setup.py install 安裝

java -jar selenium-server-standalone-3.4.0.jar -multiWindow

8、定位屬性

#########百度輸入框的定位方式##########
 
 #通過id方式定位
 browser.find_element_by_id("kw").send_keys("selenium")
 
 #通過name方式定位
 browser.find_element_by_name("wd").send_keys("selenium")
 
 #通過tag name方式定位
 browser.find_element_by_tag_name("input").send_keys("selenium")
 
 #通過class name 方式定位
 browser.find_element_by_class_name("s_ipt").send_keys("selenium")
 
 #通過CSS方式定位
 browser.find_element_by_css_selector("#kw").send_keys("selenium")
 
 #通過xphan方式定位
 browser.find_element_by_xpath("http://input[@id='kw']").send_keys("selenium")
 
 ############################################
 
 browser.find_element_by_id("su").click()
 time.sleep(3)
 browser.quit()

一、元素的定位

1.webdriver提供的8種頁面元素定位方法:

id/name/class name/tag name/link text/partial link text/xpath/css selector

其中python對應的8種方法:

 find_element_by_id()      如: find_element_by_id("kw") 
 find_element_by_name()      如: find_element_by_name("wd")
 find_element_by_class_name()    如: find_element_by_class_name("s_ipt") 
 find_element_by_tag_name()     如: find_element_by_tag_name("input") 
 find_element_by_link_text()    如:find_element_by_link_text(u"新聞") 
 find_element_by_partial_link_text()  如:find_element_by_partial_link_text(u"一個很長的") 
 find_element_by_xpath()     如: find_element_by_xpath(" .//*[@id='kw']") 
 find_element_by_css_selector()    如: find_element_by_css_selector("#kw")

二、瀏覽器控制

1.控制瀏覽器大小:

set_window_size() 例如:driver.set_window_size(400,500)

maximize_window() 例如:driver.maximize_window() #無參數

2.瀏覽器后退、前進:back()-后退、farward()-前進

三、鼠標事件

ActionChains類提供的常用方法:

1.1 perform():執行ActionChains中存儲的所有行為,對整個事件進行提交

1.2 context_click(): 右擊

如:

   from selenium.webdriver.common.action_chains import ActionChains
    ...
   ActionChains(dr).context_click(docfile).perform()

1.3 double_click(): 雙擊

如:

   from selenium.webdriver.common.action_chains import ActionChains
    ...
   doubleClick=dr.find_element_by_id("xxx")
   ActionChains(dr). double_Click(doubleClick).perform()  

1.4 drag_and_drop(source,target): 拖動

如:

   from selenium.webdriver.common.action_chains import ActionChains
    ...
   dsource=dr.find_element_by_id("xxx")  #拖動的源元素
   dtarget=dr.find_element_by_id("xxx")  #釋放的目標目標元素
   ActionChains(dr).drag_and_drop(dsource,dtarget).perform()
  

1.5 move_to_element(): 鼠標懸停

如:

   from selenium.webdriver.common.action_chains import ActionChains
    ...
   above=dr.find_element_by_id("xxx")
   ActionChains(dr).move_to_element(above).perform()

四、鍵盤事件

1.首先要導入鍵盤事件的包

from selenium.webdriver.common.keys importKeys
 ...
 dr.get("http://www.baidu.com")
 #輸入內容
 dr.find_element_by_id("kw").send_keys("seleniumm")
 #刪除輸入內容的最后一個字母,
 dr.find_element_by_id("kw").send_keys(Keys.BACK_SPACE)
 #輸入:空格+教程
 dr.find_element_by_id("kw").send_keys(Keys.SPACE)
 dr.find_element_by_id("kw").send_keys(u"教程")
 #ctrl+a全選輸入框內容
 dr.find_element_by_id("kw").send_keys(Keys.CONTROL,'a')
 #ctrl+x剪貼輸入框內容
 dr.find_element_by_id("kw").send_keys(Keys.CONTROL,'x')
 #ctrl+v剪貼輸入框內容
 dr.find_element_by_id("kw").send_keys(Keys.CONTROL,'v')
 #回車鍵操作
 dr.find_element_by_id("su").send_keys(Keys.ENTER)
 dr.close()
 

常用的鍵盤操作整理:

 send_keys(Keys.BACK_SPACE) #刪除鍵BackSpace
 send_keys(Keys.SPACE)  #空格鍵Space
 send_keys(Keys.TAB)   #制表鍵Tab
 send_keys(Keys.ESCAPE)  #回退鍵Esc
 send_keys(Keys.ENTER)  #回車鍵Enter
 send_keys(Keys.CONTROL,'a') #Ctrl+a
 send_keys(Keys.CONTROL,'c') #Ctrl+c 
 send_keys(Keys.CONTROL,'x') #Ctrl+x
 send_keys(Keys.CONTROL,'v') #Ctrl+x
 send_keys(Keys.F1)   #F1,類似的有F1-F12

五、獲取驗證

六、設置等待

1.顯示等待:等待某個條件成立時,繼續執行,否則達到最大等待時間后拋出異常:TimeoutException,顯示等待是針對當前要定位元素使用

WebDriverWait(driver, timeout,poll_frequency,ignored_exceptions=None).until(method,message) 

示例:

 WebDriverWait(dr,5,0.5,None).until(
  expected_conditions.presence_of_element_located((By.ID,"kw1")),message='test') 

解釋:

A.WebDriverWait():在設置時間內,默認間隔一段時間檢測一次當前頁面元素是否存在,若超過當前指定時間檢測不到則拋出異常;
 B.driver:webdriver的瀏覽器驅動,ie、firefox、chromea
 C.timeout:最長超時時間,以秒為單位
 D.poll_frequency:休眠間隔時間-步長,默認0.5秒
 E.ignored_exceptions:超時后異常信息,默認拋出NoSuchElementException異常
 F.until(method,message): 調用該方法提供的驅動作為一個參數,直到返回值為True
 G.until_not(method,message):調用該方法提供的驅動作為一個參數,直到返回值為False
 H.expected_conditions類提供的預期條件實現有:
  title_is:判斷標題是否是xx
  title_contains:判斷標題是否包含xx
  presence_of_element_located:元素是否存在
 
  visibility_of_element_located:元素是否存在
 
  visibility_of:是否可見
 
  presence_of_all_elements_located:判斷一組元素是否存在
 
  text_to_be_present_in_element:判斷元素是否有xx文本信息 
 
  text_to_be_present_in_element_value:判斷元素值是否有xx文本信息 
 
  frame_to_be_available_and_switch_to_it:表單是否可見,并切換到該表單
 
  invisibility_of_element_located:判斷元素是否隱藏
  element_to_be_clickable:判斷元素是否點擊,它處于可見和啟動狀態
  staleness_of:等到一個元素不再依附于DOM
  element_to_be_selected:被選中的元素
  element_located_to_be_selected:一個期望的元素位于被選中
  element_selection_state_to_be:一個期望檢查如果給定元素被選中
  element_located_selection_state_to_be:期望找到一個元素并檢查是否是選擇狀態
  alert_is_present:預期一個警告信息 

2.隱式等待:通過一定的時長等待頁面所有元素加載完成,哪個元素超出設置時長沒被加載就拋出異常NoSuchElementException,隱式等待是針對所有元素的

implicitly_wait(5) #默認單位為秒

示例:

dr.implicitly_wait(5)

七、sleep休眠 python中強制的程序等待

 from time import sleep
 sleep(4) #默認單位秒,設置小于1秒的時間可以用小數點如sleep(0.6)

八、定位一組元素,類似與1中定位單個元素方法

 find_elements_by_id()      如: find_elements_by_id("kw") 
 find_elements_by_name()     如: find_elements_by_name("wd")
 find_elements_by_class_name()    如: find_elements_by_class_name("s_ipt") 
 find_elements_by_tag_name()    如: find_elements_by_tag_name("input") 
 find_elements_by_link_text()    如:find_elements_by_link_text(u"新聞") 
 find_elements_by_partial_link_text()  如:find_elements_by_partial_link_text(u"一個很長的") 
 find_elements_by_xpath()     如: find_elements_by_xpath(" .//*[@id='kw']") 
 find_elements_by_css_selector()   如: find_elements_by_css_selector("#kw")

使用場景:

a.批量操作對象,如選中頁面上所有復選框

b.先獲取一組對象,再在這組對象里定位需要的的一些對象,如定位所有復選框,然后選擇最后一個

例如:代碼如下

checkbox.htm頁面:

 <styletype="text/css">
 body{font-size:12px; font-family:Tahoma;}
 .checkbox{vertical-align:middle; margin-top:0;}
 </style>
 <body>
 <inputclass="checkbox"type="checkbox"/>元旦
 <inputtype="checkbox"name="test"/>圣誕節
 <inputtype="checkbox"name="test"/>股市
 <inputtype="checkbox"name="test"/>阿凡達
 <inputtype="checkbox"name="test"/>十月圍城
 <inputtype="checkbox"name="test"/>水價上調
 <inputtype="button"value="檢測"id="btn"/>
 </body>

python代碼:

from selenium import webdriver
  
  dr=webdriver.Firefox()
  dr.get("D:\\workspace\\pySelenium\\resources\\checkbox.htm")
 #使用tagname方式選擇頁面上所有tagname為input的元素
 select_tagname=dr.find_elements_by_tag_name("input")
 #使用xpath方式選擇頁面上所有tagname為input的元素
 select_xpath=dr.find_elements_by_xpath("http://input[@type='checkbox']")
 #使用css_select方式選擇頁面上所有tagname為input的元素
 select_css=dr.find_elements_by_css_selector('input[type=checkbox]')
 for i in select_tagname:
 #循環對每個input元素進行點擊選中操作
 if i.get_attribute("type")=='checkbox':
 i.click()
 for j in select_xpath:
 #循環對每個input元素進行點擊取消操作
 j.click()
 for k in select_css:
 #循環對每個input元素進行點擊選中操作
 k.click()
 #打印出checkbox的個數
 print'----頁面上checkbox的個數為:',len(select_css)
 #使用pop()獲取1組元素的第幾個元素
 select_css.pop(0).click()#第一個
 select_css.pop(1).click()#第二個
 select_css.pop().click()#最后一個
 select_css.pop(-1).click()#最后一個
 select_css.pop(-2).click()#倒數第二個
 dr.close()

備注:pop():選擇一組元素中的某一個,要注意的是:pop()和pop(-1)都表示最后一個元素

九、多表單切換(對于有frame嵌套表單的操作)

frame頁面:

<html>
<body>
<frameset>
<h4>frame</h4>
<iframeid='frameid'name='frameName'width="800"height="500"src="http://www.baidu.com"/>
</frameset>
</body>
</html>

python代碼:

 dr.get("D:\\workspace\\pySelenium\\resources\\frame.htm")
 dr.switch_to_frame("frameid")#通過frame的id進入iframe
 #dr.switch_to_frame("frameName") #通過frame的name進入iframe
 #下面可以對frame進行操作了
 dr.find_element_by_id("kw").send_keys("selenium")
 dr.find_element_by_id("su").click()
 dr.switch_to_default_content()#退出當前frame返回上一層

備注:

1.switch_to_frame()默認直接取表單的id或者name屬性來切換

2.完成當前frame表單操作后,可以通過switch_to_default_content()方法返回上一層表單,即離的最近的switch_to_frame()方法

3.對于frame中沒有id和name屬性的通過下面方式進入frame(定位到frame以頁面對象傳入)

python代碼:

 dr.get("D:\\workspace\\pySelenium\\resources\\frame.htm")
  #定位到frame頁面元素
  framepath=dr.find_element_by_class_name("frameClassname")
  dr.switch_to_frame(framepath)#通過frame頁面對象進入iframe
 #下面可以對frame進行操作了
 dr.find_element_by_id("kw").send_keys("selenium")
 dr.find_element_by_id("su").click()
 dr.switch_to_default_content()#退出當前frame返回上一層

十、多窗口切換

selenium-webdriver中使用switch_to_window()方法來切換任意窗口,常用方法有

driver.current_window_handle #獲取當前窗口句柄
  driver.window_handles #返回所有窗口句柄到當前會話
  driver.switch_to_window() #進入窗口,用于切換不同窗口

python代碼:

dr.get("http://www.baidu.com")
 current_handle=dr.current_window_handle #獲取百度首頁窗口句柄
 index_login=dr.find_element_by_xpath("http://div[@id='u1']/a[@class='lb']")#獲取登錄按鈕對象
 index_login.click()#點擊登錄
 dr.implicitly_wait(5)
 dr.find_element_by_class_name("pass-reglink").click()#點擊立即注冊按鈕
 all_handles=dr.window_handles #獲取所有打開窗口句柄
 for handle in all_handles:
 if handle==current_handle:
 dr.switch_to_window(handle)
 '''
 ...對首頁窗口進行操作
 '''
 print'----首頁頁面title:',dr.title
 for handle in all_handles:
 if handle!=current_handle:
 dr.switch_to_window(handle)
 '''
 ...對注冊窗口進行操作
 '''
 print'----注冊頁面title:',dr.title

十一、警告框處理

webdriver中處理js生成的alert、confirm、prompt處理方法是:使用switch_to_alert()定位到alert/confirm/prompt,然后使用text、accept、dismiss、send_keys來根據需要操作。

text:返回alert、confirm、prompt中的文字信息

accept:點擊確認按鈕

dismiss:點擊取消按鈕

send_keys:在alert、confirm有對話框時輸入值

python代碼:

 dr.get("http://www.baidu.com")
 set_link=dr.find_element_by_xpath("http://div[@id='u1']/a[@class='pf']")#找到設置鏈接元素
 ActionChains(dr).move_to_element(set_link).perform()#鼠標移動到設置上
 dr.find_element_by_xpath("http://a[@class='setpref']").click()#點擊搜索設置鏈接
 time.sleep(3) #加等待時間 等按鈕可用,否則會報錯
 save_set=dr.find_element_by_css_selector("#gxszButton > a.prefpanelgo")#獲取保存設置按鈕
 save_set.click()#點擊保存設置按鈕
  
 alert=dr.switch_to_alert()     #進入alert
 print'----彈出alert中內容為:',alert.text #打印對話框里的文字內容
 alert.accept()#對話框里點擊alert中確定按鈕
 #alert.dismiss() #對話框里點擊取消按鈕
 #alert.send_keys("對話框中輸入的內容") #在對話框里輸入內容

十二、上傳文件

分2種:普通上傳、插件上傳

普通上傳:將本地文件的路徑作為一個值放到input標簽中,通過form表單提交時,將值傳給服務器中去

插件上傳:指基于flash、javascript或ajax技術實現的上傳功能或插件。

1.針對普通上傳用send_keys實現

python代碼:

dr.get("D:\\workspace\\pySelenium\\resources\\upload.htm")
 loadFile=dr.find_element_by_name("filebutton")# 獲取上傳文件input元素節點
 loadFile.send_keys("D:\\workspace\\pySelenium\\resources\\frame.htm")#輸入上傳文件地址來實現上傳

2.插件上傳:使用AutoIt實現,--需要安裝AutoIt程序

AutoIt安裝,使用暫時略,需要時再追加,流程為:用AutoIt編寫上傳文件腳本生成exe文件,在python腳本中進行調用

python代碼:

 loadFile=dr.find_element_by_name("filebutton")# 獲取上傳按鈕
 loadFile.click() #點擊上傳按鈕,彈出上傳對話框
 os.system("D:\\autoItFile.exe") #調用autoIt生成的exe文件,實現導入

十三、下載文件:使用AutoIt實現,--需要安裝AutoIt程序,方法同上傳

python代碼:

 ffp=webdriver.FirefoxProfile()
 ffp.set_preference("browser.download.folderList",2)#0:代表下載到瀏覽器默認路徑下;2:下載到指定目錄
 ffp.set_preference("browser.download.manager.showWhenStarting",False)#是否顯示開始:True:顯示;False:不顯示
 ffp.set_preference("browser.download.dir", os.getcwd())#指定下載文件目錄,os.getcwd()無參數,返回當前目錄
 # ffp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/octet-stream")#下載文件類型,
 #指定下載頁面的content-type值,application/octet-stream為文件類型,http-content-type常用對照表搜索百度
 dr=webdriver.Firefox(firefox_profile=ffp)
 dr.get("https://pypi.python.org/pypi/selenium#downloads")
 dr.find_element_by_xpath("http://div[@id='content']/div[3]/table/tbody/tr[3]/td[1]/span/a[1]").click()
 #接下來使用autoIt實現
 

十四、cookies操作

webdriver操作cookies的方法:

get_cookies():獲得所有cookies的值

get_cookie(name):獲得有特定name值的cookie信息

add_cookie(cookie_dict):添加cookie,必須有name和value

delete_cookie(name):刪除特定名稱的cookie信息,通過name找到特定的cookie并刪除

delete_all_cookies():刪除瀏覽器中所有cookie的信息

注意:

1.cookie是以字典形式進行存儲的;

2.使用場景:如登錄功能會把用戶名寫入瀏覽器cookie指定key為username,那么就可以通過get_cookies()找到username,打印value,找不到說明保存瀏覽器的cookie是有bug的。

python代碼:

 num=1
 dr.get("http://www.baidu.com")
 cookies=dr.get_cookies()#獲取cookie的所有信息
 for ck in cookies:
 print'----所有cookie',num,':',ck #打印cookie的所有信息
 num=num+1
 print'----按name查cookie:',dr.get_cookie("PSTM")#通過cookie的name獲取cookie信息
 dr.add_cookie({'name':'hello','value':'123456789'})#向name和value添加會話信息
 cookies2=dr.get_cookies()#重新獲取cookie的所有信息
 for ck2 in cookies2:
 if ck2['name']=='hello':
 print"----加入的cookie信息:%s-->%s",(ck2['name'],ck2['value'])

十五、javascript調用,python使用的方法:execute_script()

python代碼:

dr.get("http://www.baidu.com")
 dr.find_element_by_id("kw").send_keys("selenium")
 dr.find_element_by_id("su").click()
 js="var q=document.documentElement.scrollTop=1000" #滾動條滾到最下面
 dr.execute_script(js)
 time.sleep(4)
 js2="var q=document.documentElement.scrollTop=0"  #滾動條滾到頁面頂
 dr.execute_script(js2)

十六、截圖,適用于腳本出錯時,對當前窗口進行截圖保存,使用函數:get_screenshot_as_file()

python代碼:

 dr.get("http://www.baidu.com")
 try:
 dr.find_element_by_id("kw1").send_keys("selenium")
 dr.find_element_by_id("su").click()
 exceptNoSuchElementException,msg:
 dr.get_screenshot_as_file("d:\\error.jpg") #截圖輸出到d盤
 print msg
 dr.close()

十七、關閉窗口

quit():退出相關驅動程序并關閉所有窗口。

close():關閉當前窗口,打給多個窗口時,可使用來關閉當前窗口

十八、驗證碼處理

方法1:去掉驗證碼,問題:如果是在正式環境跑腳本那么在取掉會存在風險

方法2:設置萬能驗證碼,不需要取消驗證碼,在程序中留后門--設置一個萬能驗證碼,輸入萬能驗證碼了就標識通過

python代碼:

 
 import random
 randnum=random.randint(1000,9999)
 print"----生成隨機數為:",randnum
 input_num=input(u"請輸入驗證碼:")
 print"----輸入驗證碼為:",input_num
 if input_num==randnum:
 print"隨機數正確,登錄成功"
 elif input_num==1234:
 print"輸入正確,登錄成功"
 else:
 print"登錄失敗"

方法3:使用cookie方法獲取,讀取之前登錄的cookie值訪問時,直接登錄,不需要驗證碼

--------------------------------------------------- CMD -----------命令啟動Python腳本

文件命名為:test.bat 貌似不能用

 @echo off
 echo.
 python E:\pythonScript\Auto_linknetwork.py
 cd /D C:\Python27
 python.exe
 rm #!C:\Python27/python.exe
 import os;
 i=os.system("清屏",cls);
 import time;
 #-*-格式時間格式[格式化成2009-03-20 11:45:39形式]-*-
 time.strftime("%Y-%m-%d %H:%M:%S", time.localtime());
 print ("系統當前時間為 :", localtime); 

1、截屏

driver.save_screenshot('E:\\pythonScript\\images\\'+strTime+'baidu.png')

三. WebElement接口獲取值

通過WebElement接口可以獲取常用的值,這些值同樣非常重要。 size 獲取元素的尺寸

text 獲取元素的文本

get_attribute(name) 獲取屬性值

location 獲取元素坐標,先找到要獲取的元素,再調用該方法

page_source 返回頁面源碼

driver.title 返回頁面標題

current_url 獲取當前頁面的URL

is_displayed() 設置該元素是否可見

is_enabled() 判斷元素是否被使用

is_selected() 判斷元素是否被選中

tag_name 返回元素的tagName

四.得到函數中的返回值

函數()

  def returnval():
 
  driver = webdriver.Chrome()
  print u"\n回傳值"
  return driver
 
  #returnval()
 
  src = ("http://hos.sf-express.com")
 
  returnval().get(src)
 
  print returnval()

將函數作為返回值返回,不返回結果只返回函數

  def lazy_sum(*args):
   def sum():
    ax = 0
    for n in args:
     ax = ax + n
    return ax
   return sum
  >> f = lazy_sum(1, 3, 2, 7, 9)
  >> f
  >> f() 
 #此時才是真正的計算出函數值;

新建實例driver = webdriver.Chrome()

1.獲取當前頁面的Url函數

方法:current_url

實例:

driver.current_url

2.獲取元素坐標

方法:location

解釋:首先查找到你要獲取元素的,然后調用location方法

實例:

driver.find_element_by_xpath("http://*[@id='tablechart']/tbody/tr[14]/td[9]").location

3.表單的提交

方法:submit

解釋:查找到表單(from)直接調用submit即可

實例:

driver.find_element_by_id("form1").submit()

4.獲取CSS的屬性值

方法:value_of_css_property(css_name)

實例:

driver.find_element_by_css_selector("input.btn").value_of_css_property("input.btn")

5.獲取元素的屬性值

方法:get_attribute(element_name)

實例:

driver.find_element_by_id("sellaiyuan").get_attribute("sellaiyuan")

6.判斷元素是否被選中

方法:is_selected()

實例:

driver.find_element_by_id("form1").is_selected()

7.返回元素的大小

方法:size

實例:

driver.find_element_by_id("iptPassword").size

返回值:{'width': 250, 'height': 30}

8.判斷元素是否顯示

方法:is_displayed()

實例:

driver.find_element_by_id("iptPassword").is_displayed()

9.判斷元素是否被使用

方法:is_enabled()

實例:

driver.find_element_by_id("iptPassword").is_enabled()

10.獲取元素的文本值

方法:text

實例:driver.find_element_by_id("iptUsername").text

11.元素賦值

方法:send_keys(*values)

實例:

driver.find_element_by_id("iptUsername").send_keys('admin')

注意如果是函數需要增加轉義符u,eg.

driver.find_element_by_id("iptUsername").send_keys(u'青春')

12.返回元素的tagName

方法:tag_name

實例:

driver.find_element_by_id("iptUsername").tag_name

13.刪除瀏覽器所以的cookies

方法:delete_all_cookies()

實例:

driver.delete_all_cookies()

14.刪除指定的cookie

方法:delete_cookie(name)

實例:deriver.delete_cookie("my_cookie_name")

15.關閉瀏覽器

方法:close()

實例:driver.close()

16.關閉瀏覽器并且推出驅動程序

方法:quit()

實例:driver.quit()

17.返回上一頁

方法:back()

實例:driver.back()

18.設置等待超時

方法:implicitly_wait(wait_time)

實例:driver.implicitly_wait(30)

19.瀏覽器窗口最大化

方法:maximize_window()

實例:driver.maximize_window()

20.查看瀏覽器的名字

方法:name

實例:drvier.name

以上這篇關于Python 常用獲取元素 Driver 總結就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安塞县| 福泉市| 侯马市| 革吉县| 乐山市| 卢氏县| 精河县| 团风县| 平陆县| 屏山县| 山丹县| 乌审旗| 泌阳县| 顺义区| 河间市| 长泰县| 赤水市| 岑溪市| 师宗县| 珲春市| 山阴县| 铜川市| 涟水县| 余姚市| 滦南县| 澄迈县| 桂阳县| 古田县| 湘潭县| 麻城市| 徐水县| 乐平市| 文登市| 石泉县| 周至县| 屏边| 东乡县| 花莲市| 晋江市| 镇坪县| 白城市|