Я сделал простой веб-парсер, использующий селен для добычи запасов на веб-сайте поставщика.
В настоящее время его функция заключается в том, чтобы войти на сайт, перейти на страницу заказов на сайте после входа в систему. введите штрих-код, чтобы отобразить список продуктов (не более 50), а затем извлеките данные из каждой строки таблицы: штрих-код, название продукта и уровень запасов. В настоящее время каждый из перечисленных продуктов имеет разные идентификаторы, которые я намерен обойти, проработав список идентификаторов, которые я сделал (нумерация 50, так как это самые отдельные продукты, показанные в таблице на веб-сайте). Указанные штрих-коды ищутся в электронной таблице Excel и индивидуально ищутся в поисковике штрих-кодов, это пример кода, с которым я сейчас работаю.
from selenium import webdriver
import pandas as pd
variables, fill in with stuff
usernameStr = 'putYourUsernameHere'
passwordStr = 'putYourPasswordHere'
browser = webdriver.Chrome()
browser.get(('website'))
pointer = 0
#opens workbook with barcodes and makes a list of them, fill in with stuff
df = pd.read_excel('filename.xlsm', sheetname=0) # can also index sheet by name or fetch all sheets
Barcodes = df['column name'].tolist()
length = len(Barcodes)
# fill in username and password and sign in
username = browser.find_element_by_id('UserName')
username.send_keys(usernameStr)
password = browser.find_element_by_id('Password')
password.send_keys(passwordStr)
signInButton = browser.find_element_by_id('ctl00_cplMain_Login2_LoginButton')
signInButton.click()
#go to barcode page, fill in with ids
navigateToOrdering = browser.find_element_by_id('')
navigateToOrdering.click()
stocksearcher = browser.find_element_by_id('')
stocksearcherbutton = browser.find_element_by_id('')
site_stock = browser.find_element_by_id('')
site_barcode = browser.find_element_by_id('')
site_name = browser.find_element_by_id('')
list_to_pass = ['product1value' - 'product2value']
listRange = len(list_to_pass)
for range in length:
stocksearcher.send_keys(Barcodes[pointer])
stocksearcherbutton.click()
pointer =+1
for range in listRange:
stock = site_stock.get_attribute('title')
barcode = site_barcode.get_attribute('title')
name = site_name.get_attribute('title')