2017-10-10 132 views
1

我正在嘗試構建一個工具,用於從使用Flash和Oracle BI工具的網站自動獲取信息。當我們選擇東西時會顯示信息,而閃光燈則用於渲染圖像。使用selenium webdriver與Flash進行交互Python

由於我無法從圖像本身中刪除信息(以我當前的知識),我發現右鍵單擊圖像,打開一個菜單並切換到「表格」並再次單擊該圖標,打開一個頁面可以從HTML樹中獲取表格中的數據。我的問題是,點擊flash對象(圖像)上,如:

from selenium.webdriver.support import expected_conditions as EC 

elem = WebDriverWait(browser, 20).until(EC.presence_of_element_located((By.XPATH, '(//embed[@type="application/x-shockwave-flash"])[1]'))) 

menu=ActionChains(browser).move_to_element_with_offset(elem, 61, 61).click().perform() 

但後來我試着點擊「切換到餐桌」的選項,但我不能夠這樣做,因爲我相信硒仍然點擊菜單下方的圖像。我曾嘗試(使用不同的值偏移和使用沒有成功ELEM和菜單元素):

ActionChains(browser).move_to_element_with_offset(elem, 75, 75).click() 

有沒有辦法做到這一點? 該網站是:http://www.adrreports.eu/

步驟獲得的圖像:

單擊語言 - >搜索報告 - >選擇一個字母,然後藥物(出現新的選項卡) - >選擇選項卡命名爲「號碼個案爲選定的反應」(上右頂部4),然後試圖從圖像的信息左邊

謝謝

+0

您應該嘗試的鏈接是'http:// www.adrreports.eu/tables/product/a.html'在鏈接中,您可以在'.html'之前看到字母'a',可以更改爲'z'。現在嘗試着解決這個問題。 – SIM

+0

感謝您的輸入,但我的問題是一個非常愚蠢的,因爲我在正確的軌道上,但沒有給予足夠的時間加載頁面。謝謝! – joof

回答

0

嗯,這是尷尬。

我的想法非常實用,雖然不是很優雅。 根據上述失調:

menu=ActionChains(browser).move_to_element_with_offset(elem, 61, 61).click().perform() 
ActionChains(browser).move_to_element_with_offset(elem, 66, 76).click().perform() 

我能點擊Flash菜單上的開關表,使新的頁面出現的價值觀。

ADR Report flash image

的主要問題是讓頁面加載,它看起來像它需要相當長的一段時間。

time.sleep(10) 

時間睡眠訣竅!

這種方法的工作,但如果任何人有更好的想法從閃存圖像或文件中提取信息,我很想聽!

謝謝。

相關問題