Python自動化:pubmed簡介

2020-09-07 松鼠愛吃餅乾



導入安裝包

第一步當然是導包了。自動化需要的包小夥伴還記得嗎,就是selenium,具體如下:

from selenium import webdriver from selenium.webdriver.support.ui import Selectfrom selenium.webdriver.common.action_chains import ActionChains


代碼講解

代碼1: 調用selenium包中的webdriver模塊,相信小夥伴都已經安裝了webdriver軟體在谷歌瀏覽器安裝目錄了吧,這個模塊將會啟用webdriver軟體進而實現谷歌瀏覽器自動化操作;


代碼2: 調用Select模塊,當頁面需要對單選框、複選框、下拉框進行操作時,就要調用這個模塊,因為在接下來操作我們需要在Format中選擇CSV格式(如圖),所以可以提前導入這個模塊;


代碼3: ActionChains模塊是真實模擬鍵鼠操作,如滑鼠懸停、雙擊、右擊等操作,可以說是selenium中的萬能利器。

PS:如有需要Python學習資料的小夥伴可以加下方的群去找免費管理員領取

可以免費領取源碼項目實戰視頻PDF文件


設置參數

進入準備階段了,對一些參數提前設置,方便第三步的正式操作

find = input(&39;)url = &39;+find+&39;driver = webdriver.Chrome()driver.get(url)driver.maximize_window()driver.implicitly_wait(10)


①代碼講解

代碼1: 是通過input函數實現人機互動,將我們需要查找的內容賦值給一個叫「find」的變量(小夥伴可以自定義變量,如果修改的話在代碼2中也要記得修改成新的變量名)。


單獨運行這句代碼,python會出現如下界面:可以看到,input()中的內容會出現在終端,起到提示作用,小夥伴可以自定義內容;在綠色框中輸入內容,會賦值給「find」這個變量。


在這裡小編以「T2DM」為例,輸入「T2DM」回車,這時候「find」就等於「T2DM」,然後就可以通過代碼2賦值為「url」變量,這就是接下來我們要自動化頁面的連結了。

注意事項

如果有小夥伴覺得沒必要人機互動,也可以直接賦值,依然以」T2DM「為例,如下:效果是一樣的。

注意:在python中除了文本輸入,其餘符號均為英文符號。在這裡的引號應為&34;而不是「 」。

find = &34;url = &39;+find+&39;


② 代碼講解

代碼1代碼2: 我們就能獲取對應的連結地址,接下來可以通過調用瀏覽器來訪問該頁面了。


代碼3: 通過webdriver模塊調用Chrome瀏覽器(相信小夥伴通過之前教程已經把webdriver軟體安裝在谷歌瀏覽器的安裝目錄了),然後通過代碼4讓谷歌瀏覽器訪問剛才的連結地址。當運行到代碼4時,可以看到python自動打開了如下界面:

③代碼講解

對於打開的頁面,我們可以進一步優化設置。通過代碼5,將窗口最大化,然後設置隱性等待為10s。(不記得顯性等待和隱性等待區別的小夥伴可以參照上一篇python教程)


自動化流程

在開始前要曉得一個概念:

python是根據我們設置好的邏輯進行自動化操作,所以我們不是直接跟python說「去把這些文獻下載了」,這不是python所能理解的邏輯;而是跟python說,「你先點這裡,然後點這裡,選這個,然後點這裡,等一下,然後再點這裡」,也就是說,如果我們要讓python實現自動化,就要將我們要做的事拆分給python聽。

So, 先手動操作→記錄每個操作→轉換成代碼,然後修飾一下就是python語言了。這時候打開剛才的pubmed界面,可以進行批量下載的操作是很多種的,小編只是舉一個例子,但實質是一樣的,小夥伴們可以舉一反三。


手動操作。單擊Save→單擊Format→選擇CSV→Creat file,這時候就可以整頁保存了。

下拉到底部→Jump to page→Jump,就可以跳轉下一頁,然後重複以上操作即可。


轉換成代碼。通過3.2的步驟,我們可以跟python說「先點這個再點這個再點這個」了,但怎麼轉換成代碼,小夥伴們記住一句代碼

 ActionChains(driver).move_to_element(driver.find_element_by_xpath(&39;)).click().perform()

記住這句代碼幾乎可以在後續的自動化中橫著走,這句代碼有點長,拆分一下:

ActionChains(driver)move_to_element( A )driver.find_element_by_xpath( &39; )click()perform()

代碼講解:

代碼1: 調用ActionChains來操作driver,怎麼操作?看代碼2;

代碼2: 將滑鼠移動到A這個元素,A這個元素是啥?看代碼3;

代碼3: 通過driver來找一個「B」的xpath,找回的結果就是A。

代碼4:滑鼠單擊;

代碼5:將上述操作依次進行。


用另一個方式解讀,就是尋找一個叫「B」的xpath,然後滑鼠移動到這個xpath並單擊,這樣就模擬了真實滑鼠的移動單擊操作了。

貼上小編寫的代碼

for i in range(51,56): driver.implicitly_wait(10) ActionChains(driver).move_to_element(driver.find_element_by_xpath(&34;save-results-panel-trigger&39;)).click().perform() Select(driver.find_element_by_xpath(&34;save-action-selection&39;)).select_by_visible_text(&34;) ActionChains(driver).move_to_element(driver.find_element_by_xpath(&34;save-action-format&39;)).click().perform() Select(driver.find_element_by_xpath(&39;)).select_by_visible_text(&34;) ActionChains(driver).move_to_element(driver.find_element_by_xpath(&34;save-action-panel-form&39;)).click().perform() target =driver.find_element_by_xpath(&34;search-results&39;) driver.execute_script(&34;, target) ActionChains(driver).move_to_element(driver.find_element_by_xpath(&34;search-results&39;)).click().perform() ActionChains(driver).move_to_element(driver.find_element_by_xpath(&34;search-page&39;)).click().perform() print(&39;+str(i)+&39;) print(&39;+str(i+1)+&39;)driver.quit()print(&39;)

可以看到,這句代碼出現了最多次,且每次出現只是修改了xpath的內容,也就是說,這句重點代碼的重點內容在於怎麼找這個xpath,其餘的只要copy就行了。


find = input(&39;)url = &39;+find+&39;from selenium import webdriverfrom selenium.webdriver.support.ui import Selectfrom selenium.webdriver.common.action_chains import ActionChainsdriver = webdriver.Chrome()driver.get(url)driver.maximize_window()driver.implicitly_wait(10)for i in range(51,56): driver.implicitly_wait(10) ActionChains(driver).move_to_element(driver.find_element_by_xpath(&34;save-results-panel-trigger&39;)).click().perform() Select(driver.find_element_by_xpath(&34;save-action-selection&39;)).select_by_visible_text(&34;) ActionChains(driver).move_to_element(driver.find_element_by_xpath(&34;save-action-format&39;)).click().perform() Select(driver.find_element_by_xpath(&39;)).select_by_visible_text(&34;) ActionChains(driver).move_to_element(driver.find_element_by_xpath(&34;save-action-panel-form&39;)).click().perform() target =driver.find_element_by_xpath(&34;search-results&39;) driver.execute_script(&34;, target) ActionChains(driver).move_to_element(driver.find_element_by_xpath(&34;search-results&39;)).click().perform() ActionChains(driver).move_to_element(driver.find_element_by_xpath(&34;search-page&39;)).click().perform() print(&39;+str(i)+&39;) print(&39;+str(i+1)+&39;)driver.quit()print(&39;)

本文的文字及圖片來源於網絡,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。

以上文章來源於英語公主 ,作者 Ldq

相關焦點

  • Python自動化:pubmed實現自動搶票、雙十一搶貨
    而且,熟悉了這套路,別說pubmed,任何你能在瀏覽器實現的操作,都基本能通過selenium自動化進行。For example :自動打卡,12306搶票、系統搶課、雙十一剁手等等,只要網速過得去,絕對不輸人手操作。
  • Python自動化辦公(內容)
    python自動化辦公(python操作Excel、Word、PDF、PPT)python使用openpyxl操作excel;python使用PyPDF2和pdfplumber操作pdf;python使用python-docx操作word;python使用python-pptx操作PPT;python如何自動收發郵件;python製作電話號碼歸屬地查詢工具;一:python
  • Python自動化辦公文章,開放下載共97頁PDF
    發現很多讀者對python自動化辦公(python操作Excel、Word、PDF因此,我直接寫了一個文檔《python自動化辦公系列文章》供大家學習參考,已經整理成冊(如下圖所示),共六個章節97頁,不僅有詳細的代碼解釋,而且還有詳細的圖文說明,通俗易懂,讓你輕鬆完成辦公自動化。
  • Python自動化辦公知識點整理匯總
    知乎上有人提問:用python進行辦公自動化都需要學習什麼知識呢?這可能是很多非IT職場人士面臨的困惑,想把python用到工作中,卻不知如何下手?python在自動化辦公領域越來越受歡迎,批量處理簡直是加班族的福音。
  • python自動化測試環境搭建
    本章主要講述python進行接口自動化或者UI自動化開發環境的搭建 File->settings->plugins,搜索python,若無點擊Search in repositories,搜索到Python後instill完成安裝,安裝後重啟IDEA 2、系統安裝python,進入python官網安裝,下載完後直接,雙擊開始安裝,記得在勾選組件的時候,需要勾選安裝python到path這個選項,否則安裝完了,還需要類似配置
  • Selenium2+python自動化1-環境搭建
    一、selenium簡介Selenium 是用於測試 Web 應用程式用戶界面 (UI) 的常用框架。它是一款用於運行端到端功能測試的超強工具。很顯然這比較繁瑣,並不是最佳的自動化解決方案,於是乎後來就有了webdriver。第二階段是selenium2 的時代合併了webdriver,也就是我們通常說的selenium,selenium2是默認支持Firefox瀏覽器的,這點非常方便。
  • Python+Selenium自動化測試教程連載(1)
    Selenium是一個自動化工具,它需要綁定某個程式語言,在其中調用WebDriver提供的API實現自動化的效果。2.Python版本介紹目前在用的python穩定版有2.7和3.8。2.7版本作為老版本馬上就不再維護了,一般選擇python3.8最新或較新版本就可以。
  • Python辦公自動化:使用python來自動生成word文檔
    讓python做辦公自動化,讓你閒下來讓python做自動化,讓你閒下來上節對python的excel Python辦公自動化系列:自動操作Excel自動化做了介紹。這次介紹如何用python對word進行自動生成。
  • Python編程快速上手——讓繁瑣的工作自動化
    Python是一種解釋型,面向對象,動態數據類型的高級程序設計語言,這幾年python極其火爆,應用也非常的廣泛,例如:爬蟲,數據分析,科學計算,人工智慧等python都能勝任,以至於現在很多人都喜歡用python完成自動化辦公,表格處理,數據分析等工作,就是這種萬能屬性,使得python變得越來越廣泛,儼然成為了所有職場人的一個基本功和必備技能~ 好了那麼開始今天到的正題啦~
  • Appium簡介及環境搭建(Python)
    Appium概述Appium簡介:Appium是一個開源測試自動化框架,可用於原生,混合和移動Web應用程式測試。 它使用WebDriver協議驅動iOS,Android和Windows應用程式。Appium優勢:(1)可以跨平臺同時支持android、ios;(2)支持多種語言,java、python、php、Ruby等程式語言;(3)參考文檔較多,如果有web自動化測試的經驗上手比較快。
  • Opencv-Python簡介
    原圖直方圖均衡化處理之後又接觸到了python這也太方便了,從此就開始搗鼓OpenCV-Python了,下面是它的一些簡介,來源於官網。官網: https://opencv.org/OpenCV(開源計算機視覺庫:http://opencv.org)是一個bsd授權的開源庫,包含數百種計算機視覺算法。該文件描述了所謂的opencv2。x API,本質上是一個c++ API,而不是基於C的OpenCV 1。
  • python接口自動化-Json數據處理
    一、json模塊簡介1.Json簡介:Json,全名 JavaScript Object Notation,是一種輕量級的數據交換格式,常用於http請求中2.可以用help(json),查看對應的源碼注釋內容
  • 用python進行辦公自動化都需要學習什麼知識
    用python進行辦公自動化都需要學習什麼知識呢?  這可能是很多非IT職場人士面臨的困惑,想把python用到工作中,卻不知如何下手?python在自動化辦公領域越來越受歡迎,批量處理簡直是加班族的福音。  自動化辦公無非是excel、ppt、word、郵件、文件處理、數據分析處理、爬蟲這些,這次就來理一理python自動化辦公的那些知識點。
  • 作為測試工程師進階自動化選Java還是Python?
    這是很多測試工程師從功能跨入自動化糾結的問題,今天本文帶大家一探究竟。以Python入門自動化,後面想轉測開的話再去學習Java也不是什麼難事。✅Python+selenium可以幫助開發實現UI自動化測試✅python request接口測試✅python locust性能測試✅python Scapy安全性能測試✅python selenium兼容性測試✅還有Robotframework
  • 好程式設計師Python培訓分享numpy簡介
    好程式設計師Python培訓分享numpy簡介:一、numpy簡介:NumPy是一個功能強大的Python庫,主要用於對多維數組執行計算。NumPy這個詞來源於兩個單詞-- Numerical和Python。NumPy提供了大量的庫函數和操作,可以幫助程式設計師輕鬆地進行數值計算。
  • 講一講我是如何通過Python實現辦公自動化的
    自動化辦公無非是excel、ppt、word、郵件、文件處理、數據分析處理、爬蟲這些,今天我們主要來講講excel、ppt、word自動化的操作技巧。我們需要學習的主要內容有:python基礎;excel自動化;ppt自動化;word自動化。1、python基礎能做這些的前提是會使用Python,最起碼要熟悉基本語法,可以編寫小腳本。
  • 學習筆記第一篇——python簡介
    學習筆記第一篇--python簡介一、python誕生python是由一個叫「龜叔」(Guido van Rossum)的傢伙在1989聖誕節打發無聊時間編寫的一種程式語言。二、python地位現如今世界上有很多種程式語言,而python無疑已經成為一方霸主,正如你聽說過的程式語言tiobe最近的排行榜上,python在今年已經名列第4。
  • 學會Python+Selenium,分分鐘搭建Web自動化框架!
    用python+selenium實現UI自動化測試,要有一些HTML和xpth的基礎,當然python基礎一定是必須要會的。筆者建議花點時間了解下相關基礎知識,不至於後面發懵。一、什麼是selenium?selenium是個強大的工具集。支持快速開發測試自動化,支持在多種瀏覽器平臺上執行測試。
  • 微軟最強 Python 自動化工具開源了!不用寫一行代碼!
    前言 最近,微軟開源了一款非常強大的 Python 自動化依賴庫:playwright-python 它支持主流的瀏覽器,包含:Chrome、Firefox、Safari、Microsoft Edge 等,同時支持以無頭模式、有頭模式運行 playwright-python 提供了同步、異步的
  • 10分鐘玩轉Python+Selenium自動化測試,快速入門通道!
    1、python會了嗎最近?2、selenium自動化你們團隊進度怎麼樣?3、你們自動化框架應用得如何?4、一直搞手工職業發展會有瓶頸啊,測試真心要往測試開發走啊,搞自動化……5、我們招聘自動化工程師都10K起,但是到目前還沒有招到合適的人選哦,趕緊也學學自動化,漲薪或跳槽去……自動化工程師的規劃之路如何玩轉Selenium自動化?目前市場上的自動化工具很多,selenium只是其中的一個突出代表。