我正在使用 Python/Selenium 將基因序列提交到在線數據庫,并希望保存我返回的整頁結果。下面是讓我得到我想要的結果的代碼:from selenium import webdriverURL = 'https://blast.ncbi.nlm.nih.gov/Blast.cgi?PROGRAM=blastx&PAGE_TYPE=BlastSearch&LINK_LOC=blasthome'SEQUENCE = 'CCTAAACTATAGAAGGACAGCTCAAACACAAAGTTACCTAAACTATAGAAGGACAGCTCAAACACAAAGTTACCTAAACTATAGAAGGACAGCTCAAACACAAAGTTACCTAAACTATAGAAGGACAGCTCAAACACAAAGTTACCTAAACTATAGAAGGACA' #'GAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGAGAAGA'CHROME_WEBDRIVER_LOCATION = '/home/max/Downloads/chromedriver' # update this for your machine# open page with selenium# (first need to download Chrome webdriver, or a firefox webdriver, etc)driver = webdriver.Chrome(executable_path=CHROME_WEBDRIVER_LOCATION)driver.get(URL)time.sleep(5)# enter sequence into the query field and hit 'blast' button to searchseq_query_field = driver.find_element_by_id("seq")seq_query_field.send_keys(SEQUENCE)blast_button = driver.find_element_by_id("b1")blast_button.click()time.sleep(60)那時我有一個頁面,我可以手動單擊“另存為”,并獲取一個本地文件(帶有相應的圖像/js 資產文件夾),讓我可以在本地查看整個返回的頁面(減去動態生成的內容)向下滾動頁面,這很好)。我認為有一種簡單的方法可以在 python/selenium 中模擬這個“另存為”函數,但還沒有找到。下面保存頁面的代碼只保存了 html,并沒有給我留下一個本地文件,它看起來像在 Web 瀏覽器中那樣,帶有圖像等。content = driver.page_sourcewith open('webpage.html', 'w') as f: f.write(content)我也在SO 上找到了這個問題/答案,但接受的答案只是顯示了“另存為”框,并沒有提供點擊它的方法(正如兩位評論者指出的那樣)有沒有一種簡單的方法可以使用python“將[整頁]另存為”?理想情況下,我更喜歡使用 selenium 的答案,因為 selenium 使爬行部分變得如此簡單,但如果有更好的工具來完成這項工作,我愿意使用另一個庫?;蛘呶铱赡苤恍枰诖a中指定我想要下載的所有圖像/表格,并且沒有模擬右鍵單擊“另存為”功能的快捷方式?更新 - 對 James 回答的跟進問題 所以我運行 James 的代碼來生成一個page.html(和相關文件)并將它與我通過手動單擊另存為獲得的 html 文件進行比較。在page.html通過詹姆斯的腳本保存的是偉大的,有我需要的一切,但在瀏覽器中打開時,它也說明了很多這是隱藏在手動save'd頁額外的格式文本。請參閱附加的屏幕截圖(左側手動保存的頁面,右側顯示帶有額外格式文本的腳本保存頁面)。
添加回答
舉報
0/150
提交
取消
