身体硒

时间:2019-01-15 15:54:28

标签: python selenium selenium-webdriver web-scraping

我正尝试显示从web-sockets处进行抓取的结果,出现错误

我的代码在这里:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver

driver = webdriver.PhantomJS()
driver.get("https://www.findomestic.it/")

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a.select.bh-option"))).click()
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.LINK_TEXT, 'AUTO NUOVA'))).click()
driver.find_element_by_id("findomestic_simulatore_javascript_importo").send_keys("2000")
driver.find_element_by_id('findomestic_simulatore_javascript_calcola').submit()
time.sleep(100)
driver.save_screenshot('sreenshot.png')
print(driver.find_element_by_tag_name('body').text)
for item in WebDriverWait(driver,10).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, 'ul.fd-siff-element > li')))[1:]:
    print(item.text.split('\n')[:-1])

我的预期输出

['56,20 € PER', '42 MESI', '9,54 % TAN FISSO', '9,97 % TAEG FISSO']
['64,10 € PER', '36 MESI', '9,53 % TAN FISSO', '9,96 % TAEG FISSO']
['75,20 € PER', '30 MESI', '9,54 % TAN FISSO', '9,97 % TAEG FISSO']
['91,80 € PER', '24 MESI', '9,46 % TAN FISSO', '9,89 % TAEG FISSO']
['119,70 € PER', '18 MESI', '9,54 % TAN FISSO', '9,97 % TAEG FISSO']

发生以下错误: https://www.findomestic.it/

2 个答案:

答案 0 :(得分:1)

我有set_window_size使其全屏显示。

并且我已将定位器更改为xPath:

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver
import time
from selenium.webdriver.chrome.options import Options


chrome_options = Options()
chrome_options.add_argument('--start-maximized')
driver = webdriver.Chrome("/path/to/chromedrive", chrome_options=chrome_options)
driver.get("https://www.findomestic.it/")

WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "a.select.bh-option"))).click()
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.LINK_TEXT, 'AUTO NUOVA'))).click()
driver.find_element_by_id("findomestic_simulatore_javascript_importo").send_keys("2000")
driver.find_element_by_xpath('//*[@class="btn bh-btn"]').click()
# driver.find_element_by_id('findomestic_simulatore_javascript_form').submit()
time.sleep(100)
driver.save_screenshot('sreenshot.png')
print(driver.find_element_by_tag_name('body').text)
for item in WebDriverWait(driver,10).until(EC.visibility_of_all_elements_located((By.CSS_SELECTOR, 'ul.fd-siff-element > li')))[1:]:
    print(item.text.split('\n')[:-1])

希望这会有所帮助!


在编辑以最大化窗口之后,这是输出:

Le proposte selezionate per te
CONFRONTA OFFERTE
IL TUO PROGETTO
AUTO NUOVA
arrow_drop_down
IMPORTO
euro_symbol
ASSICURAZIONE
help_outline

50,20 € PER
48 MESI
9,45 %
TAN FISSO
9,87 %
TAEG FISSO
Importo richiesto 2.000,00 €
keyboard_arrow_up
check_circle
Selezionata per te
check_circle
Selezionata per te
save SALVA PREVENTIVO
compare_arrows CONFRONTA
RICHIEDI FINANZIAMENTO
56,20 € PER
42 MESI
9,54 % TAN FISSO
9,97 % TAEG FISSO
keyboard_arrow_down
64,10 € PER
36 MESI
9,53 % TAN FISSO
9,96 % TAEG FISSO
keyboard_arrow_down
75,20 € PER
30 MESI
9,54 % TAN FISSO
9,97 % TAEG FISSO
keyboard_arrow_down
91,80 € PER
24 MESI
9,46 % TAN FISSO
9,89 % TAEG FISSO
keyboard_arrow_down
119,70 € PER
18 MESI
9,54 % TAN FISSO
9,97 % TAEG FISSO
keyboard_arrow_down

picture_as_pdf PREVENTIVO/INFO EUROPEE DI BASE CREDITO CONSUMATORI
Messaggio pubblicitario con finalità promozionale. Offerta di prestito personale, valida per oggi,come da esempio rappresentativo: importo totale dovuto 2.409,60 €, spese di incasso rata 0,00 €, spese comunicazione periodica (almeno una all'anno) 0,00 €,imposta di bollo/sostitutiva addebitata sulla prima rata 0,00 €.
Al fine di gestire le tue spese in modo responsabile e di conoscere eventuali altre offerte disponibili, Findomestic ti ricorda, prima di sottoscrivere il contratto, di prendere visione di tutte le condizioni economiche e contrattuali, comprese eventuali condizioni relative alle opzioni di cambio rata e salto rata (attivabili dopo aver rimborsato le prime 6 rate), facendo riferimento alle Informazioni Europee di Base sul Credito ai Consumatori (IEBCC) disponibili nel processo online. Salvo approvazione di Findomestic Banca S.p.A.  
Findomestic Banca SpA . P.Iva 03562770481
Dati Societari | Trasparenza | Privacy | Sicurezza | Cookie | Codice di Condotta | Condizioni Assicurative
['56,20 € PER', '42 MESI', '9,54 % TAN FISSO', '9,97 % TAEG FISSO']
['64,10 € PER', '36 MESI', '9,53 % TAN FISSO', '9,96 % TAEG FISSO']
['75,20 € PER', '30 MESI', '9,54 % TAN FISSO', '9,97 % TAEG FISSO']
['91,80 € PER', '24 MESI', '9,46 % TAN FISSO', '9,89 % TAEG FISSO']
['119,70 € PER', '18 MESI', '9,54 % TAN FISSO', '9,97 % TAEG FISSO']

答案 1 :(得分:0)

当您在“提交”按钮上触发form而不是submit时,click似乎收到了不正确的数据(请注意,插入的"2000"值应自动转换为{{ 1}},如果是2.000,00,则不会执行

尝试更换

.submit()

使用

driver.find_element_by_id('findomestic_simulatore_javascript_calcola').submit()