iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
Software Development

30天來打造一個方便的訂房機器人系列 第 12

[Day 12]名為餅乾的神秘力量

  • 分享至 

  • xImage
  •  

在我們開始之前我們需要先了解會出現那個畫面其實是因為

網站看不起我們阿不是啦

是因為driver開啟的方式並不會把原本的瀏覽器紀錄給帶進去,所以這個阻攔我們的東西就叫做cookie,由於大多數網站為了讓你加入會員,大多都會以這種方式讓第一次進入這個網站的使用者出現這個畫面,但是我們並不知道booking是以何種cookie判斷是否為第一次進入這個網站,所以上一篇我們才有說道其中一種方法是刷新這個頁面,那我們趕緊來實做吧。

1. 刷新這個頁面

driver.refresh()
#放的位置很重要,要等到顯示driver才能執行
#建議可以放在soup = BeautifulSoup(source, 'html.parser')後面

可以看到我們成功跳轉到第二頁了,但是有個問題,我們網頁都還沒渲染完成資料就出現了?你沒看錯,那些資料出現的確實就是第一頁的資料,這樣的話我們就需要去等待第二頁渲染完成後再執行

import time
#python
time.sleep(2)
#依據個人開啟速度調整時間

完成拉,這次因為有了time.sleep,等到網頁跳轉完成後拿到的sorce就會是第二頁的拉~

2. 直接點擊 X 來關閉

time.sleep(2) #很重要喔!

close = driver.find_element(By.CSS_SELECTOR, 'div[class="abcc616ec7 cc1b961f14 c180176d40 f11eccb5e8 ff74db973c"]')
#建議使用自己的瀏覽器去查詢這個div的class

close_button = close.find_element(By.TAG_NAME, 'button')
close_button.click()

這邊一樣先找到關閉的那個div,再藉由tag找到button按下去,很重要的一點是sleep同樣是要等到X被渲染出來後才能點擊

好啦,那我們之後就可以透過這些功能來去找到我們所想要的任何東西啦


上一篇
[Day 11]結合selenium和beautifulsoup
下一篇
[Day 13]只有飯店名稱還不夠,再來找找有用的東西
系列文
30天來打造一個方便的訂房機器人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言