前提:数据样式格式一致
工具:selenium+Chromedriver;
本次代码主要依靠selenium+Python,浏览器我用的是Chrome浏览器以及相应的驱动Chromedriver,selenium可以通过pip安装,Chromedriver要去网上下载与浏览器版本一致的安装包,具体安装过程自行百度。
数据前期准备:
Python代码:
import time
from selenium import webdriver
import os
def getFiles(dir, suffix): # 查找根目录,文件后缀
res = []
for root, directory, files in os.walk(dir): # =>当前根,根下目录,目录下的文件
for filename in files:
name, suf = os.path.splitext(filename) # =>文件名,文件后缀
if suf == suffix:
res.append(name) # =>吧一串字符串组合成路径
return res
driver= webdriver.Chrome()
driver.get('http://localhost:8080/geoserver/web/wicket/bookmarkable/org.geoserver.web.data.store.StorePage?21')
driver.find_element_by_id("username").send_keys("admin") # 填入用户名
driver.find_element_by_id("password").send_keys("geoserver") # 填入密码
driver.find_element_by_css_selector(".positive").click()
for file in getFiles("E:\\我的坚果云\\New\\", '.shp'): # =>查找以shp结尾的文件
driver.get('http://localhost:8080/geoserver/web/wicket/bookmarkable/org.geoserver.web.data.store.StorePage?5')
driver.find_element_by_css_selector(".add-link").click()
driver.find_element_by_xpath('//ul/li[1]/div[6]/a').click()
driver.find_element_by_xpath('//select[1]').send_keys("typhoon")
driver.find_element_by_xpath('//fieldset/div[2]/div[1]/input').send_keys("typhoon-point"+file)
driver.find_element_by_css_selector(".longtext").clear()
driver.find_element_by_css_selector(".longtext").send_keys("file://E:\\我的坚果云\\New\\"+file+".shp") //你的文件路径
driver.find_element_by_xpath('/html/body/div[2]/div[1]/div[2]/div[2]/form/div[3]//a[1]').click()
time.sleep(2)
driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div[2]/div/div[2]/div/table/tbody/tr/td[3]/span/a').click()
time.sleep(2)
driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div[2]/form/div[2]/div[2]/div[1]/'
'div/ul/li[1]/fieldset/ul/li[1]/input').send_keys("typhoon-point"+file) //自定义命名方式,我的是typhoon-point加编号
driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div[2]/form/div[2]/div[2]/div[1]/div/ul/div/li[2]/'
'fieldset/ul/li[1]/div[2]/a[1]').click()
driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div[2]/form/div[2]/div[2]/div[1]/div/ul/div/li[2]/f'
'ieldset/ul/li[2]/a').click()
time.sleep(1)
driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div[2]/form/div[2]/div[1]/ul/li[2]/a').click()
driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div[2]/form/div[2]/div[2]/div[3]/div/ul/li/fieldset/'
'ul[3]/li[1]/span/span[1]/span/span[1]').click()
driver.find_element_by_xpath('/html/body/span/span/span[1]/input').send_keys("point") //这里的point改为你用的style名字
driver.find_element_by_xpath('/html/body/span/span/span[2]/ul/li[1]').click()
driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div[2]/form/div[2]/div[1]/ul/li[4]/a').click()
driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div[2]/form/div[2]/div[2]/div/fieldset/ul/li[2]/div/'
'ul/li[10]/span/div/div[1]/table/tbody/tr[2]/td[5]/a[2]').click()
driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div[2]/form/div[3]/a[1]').click()
效果(浏览器一条条自动发布):
来源:CSDN
作者:八千鸟羽
链接:https://blog.csdn.net/qq_21567935/article/details/104076865