如何单击<;a>;an中的元素<;ul>;及<;李>;使用python的selenium元素?

如何单击<;a>;an中的元素<;ul>;及<;李>;使用python的selenium元素?,python,selenium,web-scraping,selenium-chromedriver,Python,Selenium,Web Scraping,Selenium Chromedriver,我正在刮胡子。我试图点击下的链接,但它抛出了NoTouchElementException异常 以及我要单击的链接: 我正在使用以下代码: from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC chrome_options = webdriver.

我正在刮胡子。我试图点击
  • 下的链接,但它抛出了
    NoTouchElementException
    异常

    以及我要单击的链接:

    我正在使用以下代码:

    from selenium import webdriver
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    chrome_options = webdriver.ChromeOptions()
    chrome_options.add_argument('--headless')
    chrome_options.add_argument('--no-sandbox')
    chrome_options.add_argument('--disable-dev-shm-usage')
    chrome_options.add_argument('--start-maximized')
    chrome_options.add_argument('window-size=5000x2500')
    webdriver = webdriver.Chrome('chromedriver',chrome_options=chrome_options)
    url = "https://www.cofidis.es/es/creditos-prestamos/financiacion-coche.html"
    webdriver.get(url)
    webdriver.find_element_by_xpath('//*[@id="btncerrar"]').click()
    time.sleep(5)
    webdriver.find_element_by_link_text('Préstamo Coche Nuevo').click()
    webdriver.save_screenshot('test1.png')
    
    我得到的错误是:

    在find_元素中(self、by、value) 976返回self.execute(Command.FIND_元素{ 977“使用”:通过, -->978'value':value})['value'] 979 980 def find_元素(self,by=by.ID,value=None):

    在执行中(self、driver_命令、params) 319 response=self.command\u executor.execute(driver\u command,params) 320如果响应: -->321自我错误处理程序检查响应(响应) 322响应['value']=self.\u展开值( 323响应。获取('值',无))

    检查响应(自我、响应) 240警报文本=值['alert']。获取('text') 241引发异常类(消息、屏幕、堆栈跟踪、警报文本) -->242引发异常类(消息、屏幕、堆栈跟踪) 243 244定义值或默认值(self、obj、key、default):


    您只需抓取该url并访问它。另外,值得注意的是,您有一个基本url,您可以简单地将连字符搜索字符串添加到,即,
    financiar viaje
    添加到


    使用下面的代码单击链接

    webdriver.find_element_by_css_selector("#ei_tpl_navertical li>a[data='16736']").click()
    
    使用隐式/显式等待来确保元素准备好交互。就你而言:

    webdriver = webdriver.Chrome('chromedriver',chrome_options=chrome_options)
    url = "https://www.cofidis.es/es/creditos-prestamos/financiacion-coche.html"
    webdriver.get(url)
    webdriver.implicitlyWait(20)
    webdriver.find_element_by_id('btncerrar').click()
    time.sleep(5)
    webdriver.find_element_by_css_selector("#ei_tpl_navertical li>a[data='16736']").click()
    webdriver.save_screenshot('test1.png')
    

    您的错误来自代码
    webdriver。请通过\u css\u选择器(“[href*='prestamos/prestamo-Coche-Nuevo']”)查找\u-element\u
    ,但我们无法在您给定的代码中看到此代码。请确认您给出的代码是正确的。我更新了我的问题:)请阅读原因。粘贴代码并正确格式化。如果你阅读了链接,你会看到代码的截图是不允许的,以及为什么。请删除HTML的屏幕截图,并用HTML的实际文本替换它。它正在工作。我还有一个问题:如何从这个链接中获得相同的结果?提前谢谢。嗨,我来参加会议。我还有两个非常重要的问题要问。如果你有时间来看我,我将非常感激。以下是链接:非常感谢您的回复。我已经接受了一个答案,我没有足够的分数来支持你的答案。很高兴来到这里:)我还有两个非常重要的问题要问。如果你有时间来看我,我将非常感激。以下是链接:
    /usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py
    
    /usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/errorhandler.py
    
    NoSuchElementException: Message: no such element: Unable to locate element: {"method":"link text","selector":"Préstamo Coche Nuevo"}
      (Session info: headless chrome=72.0.3626.121)
      (Driver info: chromedriver=72.0.3626.121,platform=Linux 4.14.79+ x86_64)
    
    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
    
    url = 'https://www.cofidis.es/es/creditos-prestamos/financiacion-coche.html'
    driver = webdriver.Chrome()
    driver.get(url)
    url =  WebDriverWait(driver,10).until(EC.presence_of_element_located((By.CSS_SELECTOR, "[href*='financiar-viaje']"))).get_attribute('href')
    driver.get(url)
    
    webdriver.find_element_by_css_selector("#ei_tpl_navertical li>a[data='16736']").click()
    
    webdriver = webdriver.Chrome('chromedriver',chrome_options=chrome_options)
    url = "https://www.cofidis.es/es/creditos-prestamos/financiacion-coche.html"
    webdriver.get(url)
    webdriver.implicitlyWait(20)
    webdriver.find_element_by_id('btncerrar').click()
    time.sleep(5)
    webdriver.find_element_by_css_selector("#ei_tpl_navertical li>a[data='16736']").click()
    webdriver.save_screenshot('test1.png')