selenium之瀏覽器頁面控制(python)


1.瀏覽器的前進與后退

 1 # _*_ coding:utf-8 _*_
 2 # 導入webdriver包
 3 from selenium import webdriver
 4 from time import sleep
 5 driver = webdriver.Firefox()
 6 driver.get("https://www.baidu.com/")
 7 sleep(5)
 8 print("訪問news頁")
 9 driver.get("http://news.baidu.com/")
10 sleep(5)
11 driver.back()#瀏覽器后退
12 sleep(5)
13 driver.forward()#瀏覽器前進
14 sleep(5)
15 driver.refresh()#瀏覽器刷新
16 sleep(5)
17 driver.quit()

2.瀏覽器窗口大小控制

 1 #!/usr/bin/env python
 2 # _*_ coding:utf-8 _*_
 3 # 導入webdriver包
 4 from selenium import webdriver
 5 from time import sleep
 6 driver = webdriver.Firefox()
 7 driver.get("https://www.baidu.com/")
 8 sleep(5)
 9 driver.set_window_size(800,600) #瀏覽器設置大小
10 sleep(5)
11 driver.maximize_window()    #瀏覽器全屏
12 sleep(5)
13 driver.quit()

 3.頁面iframe窗口切換

iframe.html示例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>iframe實例</title>
</head>
<body>
    <div class = "alert" align = "center">The link
        <a class = "alert-link" href="https://www.baidu.com/">baidu</a>
    </div>
    <div class = "row-fluid" align = "center">
        <div class = "span-iframe" align = "center">
            <h4 align = "center">iframe</h4>
            <iframe id ="iname" name = "nf" src = "https://www.baidu.com/" width = "800" height = "600"></iframe>
        </div>
    </div>
</body>
</html>

python代碼控制

 1 # iframe表單切換
 2 from selenium import webdriver
 3 from time import sleep
 4 driver = webdriver.Firefox()    #創建火狐對象
 5 driver.get("file:///C:/Users/Administrator/Desktop/iframe.html")
 6 driver.switch_to.frame("iname") #跳到指定的frame
 7 driver.find_element_by_xpath('//*[@id="kw"]').send_keys("selenium")
 8 driver.find_element_by_xpath('//*[@id="su"]').click()
 9 sleep(10)
10 driver.switch_to.parent_frame()    #跳到上一級
11 driver.find_element_by_xpath('/html/body/div[1]/a').click()
12 sleep(10)
13 driver.quit()   #關閉瀏覽器

4.Alert彈框處理

alert.html示例
<!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html>
<head>
<title>Alert Test</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
</head>
<body>
<h2>Alert Test</h2>

<script type="text/javascript">
function showName(){
    alert("此處展示姓名");
}
function showPassword(){
    alert("此處展示密碼");
}
function showMessage(){
    alert("這里是注意事項");    
}
</script>
<form name="f1">
    <input type="text" name="t1" value="請確認您的信息"><br><br>
    <input type="button" name="b1" value="姓名確認" onclick="showName()"><br>
    <input type="button" name="b2" value="密碼確認" onclick="showPassword()"><br>
    <input type="button" name="b3" value="提示" onclick="showMessage()"><br>
</form>
</body>
</html>

python代碼控制

 1 # Alert彈框處理
 2 from selenium import webdriver
 3 from time import sleep
 4 driver = webdriver.Firefox()    #創建火狐對象
 5 driver.get("file:///C:/Users/Administrator/Desktop/alert.html")
 6 driver.find_element_by_xpath('/html/body/form/input[2]').click()
 7 print(driver.switch_to.alert.text)  #輸出alert彈框中的文本
 8 # driver.switch_to.alert.accept() #接受警示框
 9 driver.switch_to.alert.dismiss()   #解散警告框
10 sleep(5)
11 driver.quit()   #關閉瀏覽器

5.cookie控制

百度為例

 1 # cookie
 2 from selenium import webdriver
 3 from time import sleep
 4 driver = webdriver.Firefox()    #創建火狐對象
 5 driver.get("https://www.baidu.com/")
 6 cookies = driver.get_cookies()
 7 print(cookies)
 8 for cookie in cookies:
 9     print("name = %s"%cookie["name"])
10 driver.quit()

6.JS操作(滾動條處理)

百度為例

 1 # JS操作
 2 from selenium import webdriver
 3 from time import sleep
 4 driver = webdriver.Firefox()    #創建火狐對象
 5 driver.get("https://www.baidu.com/")
 6 driver.find_element_by_xpath("//*[@id='kw']").send_keys("selenium")#通過xpath定位
 7 driver.find_element_by_xpath("//*[@id='su']").click()
 8 driver.set_window_size(800,600)
 9 sleep(5)
10 print("要執行了")
11 js = "window.scrollTo(200,0)" #100,500對應的是x,y軸
12 driver.execute_script(js)
13 sleep(10)
14 driver.quit()

7.截圖

 1 # 截圖
 2 from selenium import webdriver
 3 from time import sleep
 4 driver = webdriver.Firefox()    #創建火狐對象
 5 driver.get("https://www.baidu.com/")
 6 driver.find_element_by_xpath("//*[@id='kw']").send_keys("selenium")#通過xpath定位
 7 driver.find_element_by_xpath("//*[@id='su']").click()
 8 sleep(5)
 9 driver.get_screenshot_as_file("D:\\用戶目錄\\下載\\baidu.png")
10 sleep(10)
11 driver.quit()

8.文件上傳

uploadfile.html示例
<html>
    <body>
    <div>
        <form name="form1" action="fileUpload.php" method="post" enctype="multipart/form-data">
            <label for="file">File:</label>
                <input type="file" name="file" id="file" /> 
                <br />
                <input type="hidden" name="multi" value="false"/>
                <input type="submit" name="submit" value="Submit Single" />
        </form>
    </div>
    </body>
</html>

python代碼控制

1 # 文件上傳
2 from selenium import webdriver
3 driver = webdriver.Firefox()    #創建火狐對象
4 driver.get("file:///C:/Users/Administrator/Desktop/uploadfile.html")
5 driver.find_element_by_xpath("//*[@id='file']").send_keys("D:\用戶目錄\下載\我是個算命先生.txt")#打開文件

結果展示

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM