from selenium import webdriver
driver = webdriver.Firefox() # 指定浏覽器驅動 #對象執行個體化
--------------------------------------------------------------------------
url1='https://www.baidu.com' #需要打開的網址
driver.get(url1) #driver.get("https://www.baidu.com")
-----------------------------------------------------------------------------
from time import sleep
sleep(15)
===========================================================================================================================
driver = webdriver.Firefox() # 指定浏覽器驅動 #對象執行個體化
調用說明
driver.屬性值
變量說明:
1.driver.current_url:用于獲得目前頁面的URL
2.driver.title:用于擷取目前頁面的标題
3.driver.page_source:用于擷取頁面html源代碼
4.driver.current_window_handle:用于擷取目前視窗句柄
5.driver.window_handles:用于擷取所有視窗句柄
函數說明:
1.driver.find_element*():定位元素,
2.driver.get(url):浏覽器加載url。 執行個體:driver.get("http//:www.baidu.com")
3.driver.forward():浏覽器向前(點選向前按鈕)。
4.driver.back():浏覽器向後(點選向後按鈕)。
5.driver.refresh():浏覽器重新整理(點選重新整理按鈕)。
6.driver.close():關閉目前視窗,或最後打開的視窗。
7.driver.quit():關閉所有關聯視窗,并且安全關閉session。
8.driver.maximize_window():最大化浏覽器視窗。
9.driver.set_window_size(寬,高):設定浏覽器視窗大小。 driver.set_window_size(400,200) #設定浏覽器的寬度和高度 {'width': 1382, 'height': 744}
10.driver.get_window_size():擷取目前視窗的長和寬。
11.driver.set_window_position(X,Y) #設定浏覽器左上角坐标的X,Y值 driver.set_window_position(100,200) {'x': -8, 'y': -8}
12.driver.get_window_position():擷取目前視窗坐标。
13.driver.get_screenshot_as_file(filename):截取目前視窗。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++切換視窗
14.driver.current_window_handle #擷取目前視窗句柄
15.driver.window_handles #用于擷取所有視窗句柄
--------------------------------------------------------------------------------
suoyou = driver.window_handles # 用于擷取所有視窗句柄
16.driver.switch_to.window(suoyou[0]) #切換到第一個句柄
driver.switch_to.window(suoyou[1]) #切換到第二個句柄
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++切換frame
17.driver.switch_to.frame() #切換frame
18.driver.switch_to.default_content() #切換到首頁面 #從frame中切回主文檔
19.driver.switch_to.parent_frame() #這是switch_to中獨有的方法,可以切換到上一層的frame,對于層層嵌套的frame很有用
#driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0]) #複數,定位一組iframe的第一個
driver.switch_to.frame(driver.find_element_by_tag_name("iframe")) #因為隻有一個iframe,這個也可以用
element = driver.switch_to.active_element 定位到目前聚焦的元素上
ele_box = driver.switch_to.active_element # 通過定位輸目前焦點元素,并再次輸入資料
ele_box.send_keys("12345sdfgh")
driver.switch_to.frame('frame_name') #name來點位
driver.switch_to.frame(1) #id來定位
driver.switch_to.frame(driver.find_elements_by_tag_name("iframe")[0]) #用webelement對象來定位,先擷取對象
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++alert彈出框
from selenium.webdriver.common.alert import Alert
driver.find_element_by_id('alert_button').click() #點選觸發彈出框alert
alt = Alert(driver)
alt.accept() : 等同于單擊“确認”或者“OK”
alt.dismiss() : 等同于單擊“取消”或者“Cancel”
alt.send_keys() : 發送文本,針對有送出需求的prompt框
alt.text() : 擷取alert文本的内容
alt.authenticate(username,password) : 驗證,針對需要身份驗證的alert
————————————————————————————————————————————————————
首先使用switch_to.alert()方法進行定位,然後可以使用下面的操作
text:傳回alert、confirm、prompt中的文字資訊;
accept():接受現有警告框;
dismiss():解散現有警告框;
send_keys():在警告框中輸入文本(如果可以輸入的話);
20.driver.switch_to.alert.text #擷取alert文本框裡面的文字
21.driver.switch_to.alert.dismiss() #點選取消按鈕
22.driver.switch_to.alert.accept() #點選确定按鈕
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++調用js語句
有些浏覽器的頁面操作,不能依靠WebDriver提供的API來操作,需要借助JavaScript腳本。
webdriver提供了execute_script()方法來執行JavaScript代碼。
23.driver.execute_script(js) #調用/執行js語句的方法。
js = 'window.scrollTo(100,400);' #設定浏覽器視窗滾動條的水牌位置和垂直位置
============================================================================================================================================================
注意:建立檔案夾這個目錄已經存在的前提下:
driver.get_screenshot_as_file('C:\\Users\\del\\Desktop\\建立檔案夾\\'+ picture_time +'.png') #儲存于桌面已經存在的建立檔案夾裡:2020-02-15-19-18-38.png
driver.get_screenshot_as_file('C:\\Users\\del\\Desktop\\建立檔案夾\\'+ picture_time2 +'.png') #日期作為檔案名:2020-02-15.png
driver.get_screenshot_as_file('C:\\Users\\del\\Desktop\\建立檔案夾\\'+ picture_time3 +'.png') #時分秒作為檔案名:19-18-38.png
格式化時間:
import time
picture_time = time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime(time.time()))
print(picture_time) # 2020-02-15-19-18-38
#--------------------------------------------------------------------------------
picture_time2 = time.strftime("%Y-%m-%d", time.localtime(time.time()))
print(picture_time2) # 2020-02-15