調べても調べても検索に引っ掛からなかった、Chrome拡張機能を自動でインストールする方法がわかったので、ここに記載する。Teratailありがとう。
必要なもの
- Python
- Selenium
- chromedriver_binary
- win32com
ソース
「楽天検索」の拡張機能をChromeにインストールするコードを示す。ソースがはみ出してしまっているのはすみません。
import time from time import sleep # selenium from selenium import webdriver from selenium.webdriver.common.by import By # ないと起動しない import chromedriver_binary import selenium.webdriver.support.expected_conditions as EC from selenium.webdriver.support.wait import WebDriverWait import ctypes import win32com.client def getOptions(): options = webdriver.ChromeOptions() options.add_argument( '--user-data-dir=' + 'UserData' ) options.add_argument( '--profile-directory='+ 'Default' ) return options def installRakutenSearch(): # 初回起動、楽天検索拡張機能をインストール driver = webdriver.Chrome( options=getOptions() ) driver.get(r'https://chrome.google.com/webstore/detail/%E6%A5%BD%E5%A4%A9%E3%82%A6%E3%82%A7%E3%83%96%E6%A4%9C%E7%B4%A2/iihkglbebihpaflfihhkfmpabjgdpnol?hl=ja') WebDriverWait(driver, 15).until( EC.element_to_be_clickable( (By.XPATH, '//div[@class="g-c-Hf"]') ) ) driver.find_element_by_xpath( '//div[@class="g-c-Hf"]' ).click() # Chromeに追加 ボタンクリック html = driver.page_source handle = ctypes.windll.user32.FindWindowW( "Chrome_WidgetWin_1",0) ctypes.windll.user32.SetForegroundWindow(handle) Shell = win32com.client.Dispatch("WScript.Shell") # うまくいかないときは、range(2)からrange(3)へ変更。調整してください。 for i in range(2): Shell.SendKeys("{TAB}") sleep (1) Shell.SendKeys("~") time.sleep(5) driver.close() driver.quit() if __name__ == '__main__': installRakutenSearch()
0 件のコメント:
コメントを投稿