実際にはAJAX
はありませんが、は、ページ上の各項目(ブース)に<g>
要素を含むオブジェクトです。必要な情報を取得するには、<g>
の上にマウスのホバーを実行する必要があります。次のコードでは、ほとんどの項目の説明を得ることができます(g
要素数の2/3程度)...ページのコンテキストについてはわかりませんので、ページ上の項目の外観の規則性を判断できません:
from selenium import webdriver as web
from selenium.webdriver.common.action_chains import ActionChains
import time
from selenium.webdriver.support.ui import WebDriverWait as wait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
driver = web.Chrome()
driver.maximize_window()
driver.get('http://www.aptaexpo.com/apta2017/public/eventmap.aspx?shmode=E&thumbnail=1')
time.sleep(5)
driver.find_elements_by_tag_name('polygon')[0].click() # [1] to choose another hall
time.sleep(5)
list_of = driver.find_elements_by_xpath('//div[@class="leaflet-overlay-pane"]/*[name()="svg"]/*[name()="g"]')
for item in list_of:
action = ActionChains(driver)
action.move_to_element(item)
try:
description = wait(driver, 3).until(EC.visibility_of_element_located((By.XPATH, '//div[*[contains(text(), "Booth:")]]'))).text
print(description)
action.perform()
except:
action.perform()
問題を解決した場合は、この回答にチェックマークを付けてください。それ以外の場合は、私のコードで直面するかもしれない新しい問題を知っているか、新しい質問チケットを作成してください。
各セルを指し示したときにホバーボックスがずれる要素を調べるにはどうしたらいいですか? – Joe4Jesus
'20 x 30'のように' Size'値だけを削り取る必要がありますか? – Andersson
私はホバリングボックスの内容全体を掻きたい。しかし、ちょうどサイズの値を取得する方法の提案も役立ちます。私は出展者リストから他の情報を得ることができるからです。 – Joe4Jesus