繼上一篇我們開啟到網頁時出現彈跳視窗需要進行處理,同時我們會接著後面的運作,讓網頁自動登入網站。
承【筆記】Selenium 實作:讓你的網頁自動幫你開啟網站
在上一篇的最後,我們遇到了彈窗,仔細看會發現,這個是由瀏覽器推出來的:
因此,可以透過直接禁用Chrome通知功能,讓這個彈窗不要出現,我們這時候需要導入Options來控制瀏覽器的選項類:
#導入Options
from selenium.webdriver.chrome.options import Options
Options它可以用來控制瀏覽器做各種設定,像是:
接著,我們需要創建一個Options的物件,並且讓它啟用禁止通知:
#創建一個Chrome options的物件
chrome_options = Options()
#在物件中添加禁用瀏覽器通知的功能
chrome_options.add_argument("--disable-notifications")
再把我們設定好的Options放在chrome driver裡面:
#把禁用通知放在driver裡面
driver = webdriver.Chrome(options=chrome_options)
至於會需要寫成options=chrome_options的原因是,options是webdriver.Chrome裡的參數,我們定義了一個禁用瀏覽器通知的chrome_options需傳遞到options
結果如下:
彈窗消失了,接下來我們要讓瀏覽器點擊「登入」,一樣打開瀏覽器開發者模式抓對應的元素,同時我們也事先人工點登入抓一下登入時所需的帳號密碼欄位:
#找到登入按鈕,並且點擊
login_button = driver.find_element(By.CLASS_NAME, "btn-login")
login_button.click()
#帳號,帳號請自行註冊自定義
search_box = driver.find_element(By.NAME,"email")
search_box.send_keys("********@gmail.com")
#密碼,密碼請自行註冊自定義
search_box = driver.find_element(By.NAME,"password")
search_box.send_keys("********")
#模擬鍵盤,點擊ENTER
search_box.send_keys(Keys.ENTER)
結果如下:
帳號登入成功