首页 > 解决方案 > 我如何解决这个 python 硒问题?

问题描述

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys

driver = webdriver.Chrome()
mainurl = 'https://austin.craigslist.org/search/cta?s=0'
driver.get(mainurl)

with open('C:/Users/Saba/Desktop/sample.csv', encoding="utf-8") as f:   
    for  i  in f:
        search = driver.find_element_by_xpath('//*[@id="query"]').send_keys(i)
        submit = driver.find_element_by_xpath('//*[@id="searchform"]/div[1]/button').click()
        driver.get(mainurl)
        driver.close()

我想从我的 csv 文件中添加第二个值,如何在 csv 文件中添加第二个值。

标签: pythonselenium

解决方案


您关闭驱动程序作为迭代的最后一步,这样当您的循环进入第二次迭代时,您的浏览器就会关闭。

尝试改变这一点:

with open('C:/Users/Saba/Desktop/sample.csv', encoding="utf-8") as f:   
    for  i  in f:
        search = driver.find_element_by_xpath('//*[@id="query"]').send_keys(i)
        submit = driver.find_element_by_xpath('//*[@id="searchform"]/div[1]/button').click()
        driver.get(mainurl)
        driver.close()

对此:

with open('C:/Users/Saba/Desktop/sample.csv', encoding="utf-8") as f:   
    for  i  in f:
        search = driver.find_element_by_xpath('//*[@id="query"]').send_keys(i)
        submit = driver.find_element_by_xpath('//*[@id="searchform"]/div[1]/button').click()
        driver.get(mainurl)

driver.close()

推荐阅读