Python模擬網頁點擊


GPS這類系統,需要鼠標點擊列表中的元素完成向地圖服務器發送請求,然后接受反饋的信息,然后在頁面彈出一個窗口顯示位置信息。

首先需要完成第一步,打開瀏覽器,輸入賬號密碼,點擊登錄,之后再是找到列表並點擊列表中的元素。

 

爬蟲准備:

安裝selenium : :cmd安裝 pip install selenium

 

下載chromedriver ,下載后將chromedriver.exe文件放至 python.exe所在目錄:

http://chromedriver.storage.googleapis.com/index.html下載 

(根據你的google瀏覽器版本下載對應的chromedriver 版本)

 

打開登錄頁面

右鍵審查元素,點擊右上角小箭頭,鼠標指向需要填寫賬號的位置,點擊,右邊elements中會直接找到對應的網頁代碼位置

這里有id="",我們可以用名稱查找username的位置
elem = driver.find_element_by_name("username")
填入賬號
elem.send_keys("XXXX")
填寫密碼同理
然后在找登錄按鈕代碼時,發現沒有id=""

這是可以Copy full Xpath找到按鈕的定位通過下命令確定按鈕位置
elem = driver.find_element_by_xpath("")

Copy下來位置代碼為/html/body/div/div[2]/div/form/div/input,直接填入命令中即可

登錄進去后,確定列表中元素的位置要和上述操作有點區別

右上方箭頭點擊列表區域時,注意右方出現的列表名稱


需要進入iframe狀態不然無法操作下面的元素

driver.switch_to.frame("mainFrame")  
Copy full Xpath其中第一個元素得到代碼
/html/body/div/div[2]/div/table/tbody/tr[2]/td[1]
在填寫的時候改為,注意contentTable為網頁中列表的名稱,tr[2]/td[1]則是列表中元素中的位置
driver.find_element_by_xpath("//table[@id='contentTable']//tr[2]/td[1]")
from selenium import webdriver
import time
opt = webdriver.ChromeOptions()   #創建瀏覽
# opt.set_headless()    #無窗口模式
driver = webdriver.Chrome(options=opt)  #創建瀏覽器對象
driver.get('網頁') #打開網頁
# driver.maximize_window()   #最大化窗口
time.sleep(1)     #加載等待
# 填入賬號
elem = driver.find_element_by_name("username")
# 清空原有內容
elem.clear()
# 填入賬號
elem.send_keys("賬號")
time.sleep(1)     #加載等待
# 填入密碼
elem = driver.find_element_by_name("password")
# 清空原有內容
elem.clear()
# 填入密碼
elem.send_keys("密碼")
time.sleep(1)     #加載等待
# 得到 登錄按鈕並單擊
elem = driver.find_element_by_xpath("/html/body/div/div[2]/div/form/div/input").click()
time.sleep(2)     #加載等待
driver.switch_to.frame("mainFrame")   #進入iframe不然無法操作下面的元素
time.sleep(2)     #加載等待
driver.find_element_by_xpath("//table[@id='contentTable']//tr[2]/td[1]").click() #點擊列表中的元素
/html/body/div/div[2]/div/table/tbody/tr[2]
View Code
time.sleep(2)可以設置加載等待時間,等待請求返回數據然后可以寫入讀取element網頁數據代碼,並提取出當前點擊元素返回的信息,通過寫入循環,將所有車輛GPS定位讀取后,將數據再輸出文件。


免責聲明!

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



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