摘要:對應的的放置目錄打開開始登錄輸入框你的賬號你的密碼登錄確認睡眠秒截圖驗證碼寫上你自己的圖片地址請輸入看到的驗證碼截圖查看步驟寫上你自己的圖片地址輸入任意值繼續登錄之后跳轉跳轉開始動態令牌請輸入動態
# -*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding("utf-8") import os from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome.options import Options import time chrome_options = Options() chrome_options.add_argument("--headless") chrome_options.add_argument("--disable-gpu") chrome_options.add_argument("window-size=1024,768") chrome_options.add_argument("--no-sandbox") base_url = "http://badou.baidu.com/login" #對應的chromedriver的放置目錄 driver = webdriver.Chrome(executable_path=("/usr/local/nginx/html/selenium/chromedriver"), chrome_options=chrome_options) #打開url driver.get(base_url + "/") #開始 start_time=time.time() print("this is start_time ",start_time) #登錄 輸入框 userinput_js = "var userName_node = document.getElementsByName("userName")[0];var password_node = document.getElementsByName("password")[0];userName_node.value = "你的賬號";password_node.value = "你的密碼";" print(userinput_js) driver.execute_script(userinput_js) #登錄 確認 login_js = "document.getElementsByTagName("input")[18].click();" print(login_js) driver.execute_script(login_js) #睡眠3秒 截圖 time.sleep(3) driver.save_screenshot("screen.png") #驗證碼 print("寫上你自己的圖片地址url") imgcode = raw_input("請輸入看到的驗證碼:") verify_input_js = "var verify_node = document.getElementsByName("verifyCode")[0];verify_node.value=""+imgcode+""" driver.execute_script(verify_input_js) #截圖 查看步驟 driver.save_screenshot("screen.png") print("寫上你自己的圖片地址url") tmp=raw_input("輸入任意值繼續.") #登錄之后跳轉 print("跳轉開始...") jump_js = "var pass_btn = document.getElementsByClassName("pass-button pass-button-submit")[0];pass_btn.click();" driver.execute_script(jump_js) time.sleep(3) close_js = "document.getElementsByClassName("el-dialog__close el-icon el-icon-close")[0].click()" driver.execute_script(close_js) driver.save_screenshot("screen.png") #動態令牌 verify = raw_input("請輸入動態令牌:") verify_js = "var verify_node = document.getElementsByClassName("forceverify-input forceverify-input-vcode")[1];verify_node.value=""+verify+""" driver.execute_script(verify_js) #最終登錄 jump_js = "document.getElementsByClassName("forceverify-button forceverify-button-submit")[4].click();" driver.execute_script(jump_js) time.sleep(3) driver.save_screenshot("screen.png") #錄入 問題 with open("./badou.txt","r") as f: line = f.readline() title = line title = title.strip() commit_js = "var object2str = function(obj){var str_arr = [];var i = 0;for(var key in obj){str_arr[i] = key+"="+obj[key]; i++;}return str_arr.join("&");};var ajax_post = function (url, data, fn) {var xhr = new XMLHttpRequest();xhr.open("POST", url, true);xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.onreadystatechange = function()"+" {"+"if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 304)) {fn.call(this, xhr.responseText);}"+"};console.log(object2str(data));xhr.send(object2str(data));};var post_url = "http://badou.baidu.com/api/question/insertUpdate";var data = {"class_id":16,"content":"","cover":"[]",ext:{"+"},"qr_type":6,"title":""+title+""};ajax_post(post_url,data,function(res){var string = JSON.stringify(res);var data1 = {"msg" : "問題標題:"+data.title+"返回結果:"+string};var url = "http://ad.adstart.cn/log_in.php";ajax_post(url,data1,function(res1){console.log(res1);})});document.getElementsByTagName("a")[2].click();" # driver.execute_script(commit_js) print(commit_js) time.sleep(10) f.close() #關閉driver driver.close() #結束 end_time=time.time() print("this is end_time ",end_time)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/45467.html
摘要:對應的的放置目錄打開開始登錄輸入框你的賬號你的密碼登錄確認睡眠秒截圖驗證碼寫上你自己的圖片地址請輸入看到的驗證碼截圖查看步驟寫上你自己的圖片地址輸入任意值繼續登錄之后跳轉跳轉開始動態令牌請輸入動態 # -*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding(utf-8) import os from ...
摘要:對應的的放置目錄打開開始登錄輸入框你的賬號你的密碼登錄確認睡眠秒截圖驗證碼寫上你自己的圖片地址請輸入看到的驗證碼截圖查看步驟寫上你自己的圖片地址輸入任意值繼續登錄之后跳轉跳轉開始動態令牌請輸入動態 # -*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding(utf-8) import os from ...
摘要:而在不久前宣布支持模式而后跟隨的新聞再次勾起我無盡的回憶。那么我們就來談談在和瀏覽器不原生支持模式下如何使用來實現模式進行動態數據的抓取。比較常見的例子在中進行轉發。下面我們進行測試發現其可以正常的運行。 原文地址: http://52sox.com/python-use-h... 在Python中進行瀏覽器測試時,一般我們會選擇selenium這樣的庫來簡化我們工作量。而有些時候,為...
摘要:注意,是叫做,不是。兩款瀏覽器同根同源,它們有著同樣的,但配色不同,由藍紅綠黃四種顏色組成,而由不同深度的藍色構成。另外是基于的新特性實現的,所以它的一些執行也支持異步操作,效率相對于來說也提高了。是否響應信號,一般是命令,默認是。 如果大家對 Python 爬蟲有所了解的話,想必你應該聽說過 Selenium 這個庫,這實際上是一個自動化測試工具,現在已經被廣泛用于網絡爬蟲中來應對 ...
摘要:了解模式指的是不需要用戶界面的瀏覽器,這種瀏覽器在自動化測試和爬蟲領域有著廣泛的應用。實踐使用瀏覽器的模式進行自動化測試,你需要先滿足以下前提運行環境或者或者最新版已加入萬事俱備,廢話不多說我們直接上演示代碼。 了解HEADLESS模式 HEADLESS BROWSER 指的是不需要用戶界面的瀏覽器,這種瀏覽器在自動化測試和爬蟲領域有著廣泛的應用。 例如你想在網頁上運行一些測試,從網頁...
閱讀 1422·2021-11-15 11:38
閱讀 3566·2021-11-09 09:47
閱讀 1969·2021-09-27 13:36
閱讀 3211·2021-09-22 15:17
閱讀 2547·2021-09-13 10:27
閱讀 2862·2019-08-30 15:44
閱讀 1158·2019-08-27 10:53
閱讀 2702·2019-08-26 14:00