Python-Selenium操做鼠標鍵盤Cookie

@TOCjavascript

1、html

下面的html是後面代碼中使用到的index.html文件,頁面大體以下:php

index-html

<!DOCTYPE html>
<html>
<head>
    <title>鼠標鍵盤</title>
    <meta charset="utf-8">
    <style type="text/css">
        #acontainer{
            background: red;
        }
    </style>
</head>
<body>
    <div id="container">
        <form>
            user:<input type="text" name="user" id="user"><br /><br />
            email:<input type="text" name="email" id="email"><br /><br />
            <br /><br />
            <button id="login">login</button>
        </form>
    </div>
    <div id="acontainer">
        <a href="abc" class="aele">abc</a><br />
        <a href="bbc" class="aele">bbc</a><br />
        <a href="def" class="aele">def</a><br />
    </div>
</body>
</html>
<script type="text/javascript">
     let login = document.getElementById("login")
     login.onclick = function() { 
        alert("login")
     }
     document.onkeydown = function(event){ 
        if(event.keyCode ==13){
            alert("login")
        }
    }
    let acontainer = document.getElementById("acontainer")
    acontainer.addEventListener('dblclick',function(){
       let aele = document.createElement("a");
       let br = document.createElement("br");
       let num = Math.random();
       aele.href= num;
       aele.innerText = num;
       acontainer.appendChild(aele)
       acontainer.appendChild(br)
    },false);
</script>

2、cookie

方法屬性 說明
driver.get_cookies 得到cookie信息
add_cookie 添加會話信息
delete_cookie 刪除指定cookie
delete_all_cookies 刪除全部cookie
from selenium import webdriver

options = webdriver.FirefoxOptions()
options.headless = True
driver = webdriver.Firefox(options=options)


def printCks(cookies):
    print(type(cookies))

    for ck in cookies:
        print(type(ck), end=": ")
        print(ck)
    print("-------------")


driver.get(r'https://www.baidu.com/index.php?tn=monline_3_dg')
# 將得到cookie的信息
cks = driver.get_cookies()
printCks(cks)

driver.add_cookie({'name': 'cname', 'value': 'cvalue'})
cks = driver.get_cookies()
printCks(cks)

# 刪除指定name的cookie
driver.delete_cookie("cname")
cks = driver.get_cookies()
printCks(cks)

# 刪除全部cookie
driver.delete_all_cookies()
cks = driver.get_cookies()
printCks(cks)

3、鍵盤操做

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time

TIME_SLEEP = 3
# options = webdriver.FirefoxOptions()
options = webdriver.ChromeOptions()
options.headless = False
# driver = webdriver.Firefox(options=options)
driver = webdriver.Chrome(options=options)

file_path = r'file:///F:\tmp\index.html'
driver.get(file_path)
time.sleep(TIME_SLEEP)

driver.find_element_by_id("user").send_keys("curitis@gmail.com")
time.sleep(TIME_SLEEP)

# ctrl + a
driver.find_element_by_id("user").send_keys(Keys.CONTROL, 'a')
# ctrl + c
driver.find_element_by_id("user").send_keys(Keys.CONTROL, 'c')
# ctrl + v
driver.find_element_by_id("email").send_keys(Keys.CONTROL, 'v')

time.sleep(TIME_SLEEP)
# 回車
driver.find_element_by_id("login").send_keys(Keys.ENTER)

time.sleep(TIME_SLEEP)
driver.switch_to.alert.accept()

4、鼠標操做

方法屬性 說明
context_click 右擊
double_click 雙擊
drag_and_drop 拖動
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
import time

TIME_SLEEP = 3
# options = webdriver.FirefoxOptions()
options = webdriver.ChromeOptions()
options.headless = False
# driver = webdriver.Firefox(options=options)
driver = webdriver.Chrome(options=options)

file_path = r'file:///F:\tmp\index.html'
driver.get(file_path)
time.sleep(TIME_SLEEP)

acontainer = driver.find_element_by_id("acontainer")

# 雙擊acontainer
ActionChains(driver).double_click(acontainer).perform()
time.sleep(TIME_SLEEP)
ActionChains(driver).double_click(acontainer).perform()
time.sleep(TIME_SLEEP)
ActionChains(driver).double_click(acontainer).perform()

time.sleep(TIME_SLEEP)
driver.quit()
相關文章
相關標籤/搜索