元素在运行完整代码块时不是难以处理的错误,但是可以在代码段中工作

2024-10-01 13:35:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在网上填充一个webform,并在selenium上编写了一个脚本来完成这个过程。当在代码段中运行代码时,它可以正常工作。你知道吗

然而,当我尝试运行完整的代码块时,我得到“elementnotinteractiableexception:element not interactiable”

我已经把范围缩小到了引发这个问题的两个领域,即车辆制造和车辆模型。我想这可能是由于页面没有正确加载,所以我补充说driver.implicit\u等待(10) 行,但无济于事的问题持续存在。你知道吗

import pandas as pd
import numpy as np
import selenium
from selenium import webdriver 
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.common.exceptions import TimeoutException
option = webdriver.ChromeOptions()
option.add_argument("-headless")
browser = webdriver.Chrome(executable_path=r'C:\Users\GP8535\AppData\Local\Continuum\anaconda3\Conda_folder\Scripts\chromedriver.exe', chrome_options=option)
driver=webdriver.Chrome()
driver.get("https://www.lowestrates.ca/insurance/auto")


# Populate ZipCode field

zipcode=driver.find_element_by_id('postal-code-field').send_keys("M4C 5C6")
element = driver.find_element_by_css_selector('input.btn.secondary').click()


# Vehical Information
vehical_year=driver.find_element_by_id("vehicle-year0").send_keys("2017")
driver.implicitly_wait(10)
vehical_make=driver.find_element_by_id("vehicle-make0").send_keys("CADILLAC")
driver.implicitly_wait(10)                                
vehical_model=driver.find_element_by_id("vehicle-model0").send_keys("XTS 4DR")
vehical_leased=driver.find_element_by_id("is-leased0").send_keys("No")
vehical_purchase_month=driver.find_element_by_id("acquired-month0").send_keys("January")
vehical_purchase_year=driver.find_element_by_id("acquired-year0").send_keys("2018")
daily_distance=driver.find_element_by_id("daily-distance0").send_keys("500")
kilometers_year=driver.find_element_by_id("annual-distance0").send_keys("20")
next_page1=driver.find_element_by_css_selector('button.has-spinner').click()


#Driver Information

first_name=driver.find_element_by_id("first-name0").send_keys("Bob")
dob_month=driver.find_element_by_id("dob-month0").send_keys("May")
dob_day=driver.find_element_by_id("dob-day0").send_keys("11")
dob_year=driver.find_element_by_id("dob-year0").send_keys("1992")

first_insure_year=driver.find_element_by_id("first-insured-year0").send_keys("2009")
time_with_insured=driver.find_element_by_id("time-with-insurer0").send_keys("3")
next_page2=driver.find_element_by_css_selector('button.has-spinner').click()

Tags: fromimportsendidbydriverseleniumelement