python3?chromedrivers簽到的簡(jiǎn)單實(shí)現(xiàn)
爬蟲一般是useragent,或者js腳本交互驗(yàn)算的方式來反機(jī)器人爬蟲,只是很多反爬蟲容易被偵測(cè)出來容易被攔截,這里有個(gè)思路可以用webdrivers來驅(qū)動(dòng)瀏覽器去爬蟲,這樣就可以繞過大多數(shù)的防爬機(jī)制(有些高級(jí)的防反爬蟲也不行,比如驗(yàn)證碼,鼠標(biāo)軌跡驗(yàn)證等技術(shù)這樣chromedriver就不管用了)
用chrome瀏覽器舉例
第一下載安裝chrome瀏覽器并查明版本號(hào)。
┌──(kali?kali)-[~]
└─$ apt-get install google-chrome-stable

然后照著瀏覽器去下載相應(yīng)的chromedriver
下載地址:CNPM Binaries Mirror

下載后解壓,將里面的chromedriver 復(fù)制到/usr/bin/ 目錄下面(pach環(huán)境變量里面)即可

下面開始寫腳本
from time import sleep
import os
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.keys import Keys
option = webdriver.ChromeOptions()
#設(shè)置chrome的瀏覽器選項(xiàng)
option.add_argument('--headless')
#設(shè)施chrome選項(xiàng)為無窗口運(yùn)行
driver = webdriver.Chrome(chrome_options=option)
# 創(chuàng)建一個(gè)chrome瀏覽器,應(yīng)用無窗口的配置。
driver.get("http://www.jsons.cn/ping/")
#用chrome去訪問網(wǎng)頁
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, 'txt_url')))
#讓chrome顯式等待driver這個(gè)對(duì)象,并最多等待10秒,當(dāng)界面出現(xiàn)'txt_url'這個(gè)元素后在繼續(xù)往下
driver.find_element(By.XPATH, '//*[@id="txt_url"]').send_keys('ss111d.yqw5ey.dnslog.cn')
#再出現(xiàn)//*[@id="txt_url"]這個(gè)元素后往這個(gè)元素里面填入ss111d.yqw5ey.dnslog.cn這個(gè)數(shù)值
driver.find_element(By.XPATH, '//*[@id="startbtn"]').click()
#然后找到//*[@id="startbtn"] 這個(gè)按鈕模擬點(diǎn)擊它
sleep(1)
#等待一秒后退出find_element(By.XPATH, '//*[@id="txt_url"]') 這個(gè)元素怎么來的?如下:

總的來說這個(gè)腳本就是用chrome 打開這個(gè)網(wǎng)站,然后輸入這個(gè)dnslog的網(wǎng)址去ping一下。模仿人點(diǎn)擊去測(cè)試網(wǎng)頁

結(jié)果
其他:
下拉菜單如何選擇?
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
# 創(chuàng)建一個(gè) WebDriver 實(shí)例
driver = webdriver.Chrome()
# 訪問網(wǎng)頁
driver.get("https://example.com")
# 選擇下拉框元素
select_box = driver.find_element(By.ID, "my_select_box")
# 初始化 Select 類
select = Select(select_box)
# 選擇一個(gè)選項(xiàng)
select.select_by_value("option_value")
# 關(guān)閉 WebDriver 實(shí)例
driver.quit()在最新版本的 Selenium Python 包中,推薦使用 find_element 方法的新形式,即指定查找方式的參數(shù) By,以及對(duì)應(yīng)的選擇器表達(dá)式,具體有以下幾種用法:
- 通過元素 ID 查找元素:find_element(By.ID, id_)
- 通過元素 name 查找元素:find_element(By.NAME, name)
- 通過元素 class name 查找元素:find_element(By.CLASS_NAME, name)
- 通過元素標(biāo)簽名查找元素:find_element(By.TAG_NAME, name)
- 通過元素鏈接文本查找元素:find_element(By.LINK_TEXT, text)
- 通過元素部分鏈接文本查找元素:find_element(By.PARTIAL_LINK_TEXT, text)
- 通過元素 CSS 選擇器查找元素:find_element(By.CSS_SELECTOR, css_selector)
- 通過元素 XPath 查找元素:find_element(By.XPATH, xpath)
到此這篇關(guān)于python3 chromedrivers簽到的簡(jiǎn)單實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)python3 chromedrivers簽到內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python第三方庫undetected_chromedriver的使用
- python一招完美搞定Chromedriver的自動(dòng)更新問題
- Python3爬蟲ChromeDriver的安裝實(shí)例
- 詳解Python+Selenium+ChromeDriver的配置和問題解決
- Selenium執(zhí)行完畢未關(guān)閉chromedriver/geckodriver進(jìn)程的解決辦法(java版+python版)
- python+selenium+chromedriver實(shí)現(xiàn)爬蟲示例代碼
- 下載與當(dāng)前Chrome對(duì)應(yīng)的chromedriver.exe(用于python+selenium)
- python selenium 執(zhí)行完畢關(guān)閉chromedriver進(jìn)程示例
相關(guān)文章
使用Python開發(fā)Telegram?Bot的流程步驟
Telegram?Bot?是一種可以與用戶交互的機(jī)器人應(yīng)用程序,通過?Telegram?的?Bot?API?與服務(wù)器通信,它可以用來處理消息、執(zhí)行命令、提供服務(wù),如通知提醒、數(shù)據(jù)查詢和自動(dòng)化任務(wù)等,本文給大家介紹了如何用?Python?開發(fā)一個(gè)?Telegram?Bot,需要的朋友可以參考下2025-01-01
python 除法保留兩位小數(shù)點(diǎn)的方法
今天小編就為大家分享一篇python 除法保留兩位小數(shù)點(diǎn)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07
Python數(shù)據(jù)類型最全知識(shí)總結(jié)
學(xué)習(xí)一門語言,往往都是從Hello World開始. 但是筆者認(rèn)為,在一個(gè)黑框框中輸出一個(gè)“你好,世界”并沒有什么了不起,要看透事物的本質(zhì),熟悉一門語言,就要了解其底層,就是我們常常說的基礎(chǔ),本篇從python中的數(shù)據(jù)類型開始,需要的朋友可以參考下2021-05-05
Visual Studio code 配置Python開發(fā)環(huán)境
這篇文章主要介紹了Visual Studio code 配置Python開發(fā)環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
使用Python實(shí)現(xiàn)生成對(duì)角矩陣和對(duì)角塊矩陣
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)生成對(duì)角矩陣和對(duì)角塊矩陣,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-01-01
Python實(shí)例一個(gè)類背后發(fā)生了什么
Python實(shí)例一個(gè)類背后發(fā)生了什么,本文為大家一一列出,感興趣的朋友可以參考一下2016-02-02
python通過函數(shù)屬性實(shí)現(xiàn)全局變量的方法
這篇文章主要介紹了python通過函數(shù)屬性實(shí)現(xiàn)全局變量的方法,實(shí)例分析了Python中函數(shù)屬性的相關(guān)使用技巧,需要的朋友可以參考下2015-05-05
利用python和百度地圖API實(shí)現(xiàn)數(shù)據(jù)地圖標(biāo)注的方法
這篇文章主要介紹了利用python和百度地圖API實(shí)現(xiàn)數(shù)據(jù)地圖標(biāo)注的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05

