Я хотел бы сканировать графики с веб-сайта. Это график, который показывает тенденцию поиска определенного ключевого слова. Но дело в том, что график является интерактивным. Он появится только при нажатии на ключевое слово в списке. (Когда он появляется, это не новое окно).
На вкладке элемента инструментов разработчика я обнаружил, что это называется highcharts. Можно ли как-нибудь сканировать данные диаграммы с помощью селена?
Использование Beautifulsoup и получение json не будет работать, потому что для диаграммы не назначен URL-адрес .. (как я упоминал ранее, это просто всплывающее окно)
Я бы прикрепил изображение сайта и вкладка элемента.
Изображение # 1 вкладки диаграммы и элемента
Изображение № 2 вкладки диаграммы и элемента
Спасибо! !
(Это корейский веб-сайт, на который нужно зарегистрироваться, поэтому я не буду публиковать URL-адрес веб-сайта)
ОБНОВЛЕНИЕ КОДА
keyword = '괌여행'
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, '/html/body/elena-root/elena-wrap/div/div[2]/elena-tool-wrap/div/div/div/div/elena-keyword-planner/div[2]/div[1]/div[1]/div[2]/div/div/div[1]/div/textarea'))).send_keys(keyword)
driver.find_element_by_xpath('/html/body/elena-root/elena-wrap/div/div[2]/elena-tool-wrap/div/div/div/div/elena-keyword-planner/div[2]/div[1]/div[1]/div[3]/button').click()
time.sleep(1)
#driver.find_element_by_xpath('/html/body/elena-root/elena-wrap/div/div[2]/elena-tool-wrap/div/div/div/div/elena-keyword-planner/div[2]/div[1]/div[2]/div[3]/elena-table/div/div/table/tbody/tr[1]/td[2]/elena-keyword').click()
time.sleep(1)
actions = wd.ActionChains(driver)
actions.move_to_element(driver.find_element_by_xpath('/html/body/elena-root/elena-wrap/div/div[2]/elena-tool-wrap/div/div/div/div/elena-keyword-planner/div[2]/div[1]/div[2]/div[3]/elena-table/div/div/table/tbody/tr[1]/td[2]/elena-keyword'))
actions.click()
actions.perform()
time.sleep(3)
driver.switch_to_active_element()
time.sleep(1)
#The following code using Highcharts.charts gives an error "JavascriptException: Message: javascript error: Highcharts is not defined"
d = driver.execute_script('return Highcharts.charts[0].series[0].data')
data = [item[1] for item in data]
print(data)