我正尝试显示从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/
答案 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()