前提・実現したいこと
ここに質問の内容を詳しく書いてください。
Google spread sheetのB列から検索キーワードを抽出して検索し、その画像を取得したい
xpathでブロックを指定してsrc属性を抽出しようとしたが、なぜかsrcが空になってしまう
発生している問題・エラーメッセージ
none
該当のソースコード
Python
1from selenium import webdriver 2import time 3import csv 4import requests 5from bs4 import BeautifulSoup as bs4 6import gspread 7from selenium import webdriver 8from oauth2client.service_account import ServiceAccountCredentials 9 10driver = webdriver.Chrome(executable_path=r"/Applications/chromedriver") 11driver.get("https://www.rakuten.co.jp/") 12time.sleep(2) 13 14scope = ['https://spreadsheets.google.com/feeds', 15 'https://www.googleapis.com/auth/drive'] 16 17#jsonファイルを指定 18credentials = ServiceAccountCredentials.from_json_keyfile_name('xxx.json', scope) 19 20# 認証 21gc = gspread.authorize(credentials) 22 23# 読み込むスプレッドシートをファイル名で指定 24SPREADSHEET_URL='https://docs.google.com/spreadsheets/xxx' 25target_book = gc.open_by_url(SPREADSHEET_URL) 26 27# 読み込むシートをシート名で指定 28target_sheet = target_book.get_worksheet(0) 29 30for i in range(2,10): 31 32 #対象のセルに文字列を書き込み 33 Bi = target_sheet.cell(i,2).value 34 35 flame = driver.find_element_by_xpath('//*[@id="common-header-search-input"]') 36 flame.send_keys(Bi) 37 search = driver.find_element_by_xpath('//*[@id="wrapper"]/div[5]/div/div/div/div[1]/div/div/div/a/span/div') 38 search.click() 39 40 time.sleep(5) 41 src = driver.find_element_by_xpath('/html/body/div[3]/div[2]/div[3]/div/div[1]').get_attribute("src") 42 print(src) 43 time.sleep(3) 44 45 target_sheet.update_cell(i,3,src) 46 time.sleep(1) 47 48 driver.back() 49 time.sleep(2)
試したこと
xpath以外の方法で指定することも試してみましたが、うまくいきませんでした
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。