我写了一个简单的网页刮刀,使用excel文件与ean代码搜索网站上的产品,并采取他们的价格。我有一个大问题,当我打开第一个浏览器instation,我接受cookie和安装本地化的商店,我想报废
driver.get("https://www.castorama.pl")
driver.switch_to.frame(driver.find_element(By.CLASS_NAME, "truste_popframe"))
time.sleep(1)
accept = driver.find_element(By.CLASS_NAME, "call").click()
driver.switch_to.default_content()
postcode = driver.find_element(By.CLASS_NAME, "_1a41e483").send_keys("38-500")
time.sleep(1)
submit_postcode = driver.find_element(By.XPATH, "//span[normalize-space()='Dodaj']").click()
results = []
这工作正常,但问题开始时,我想使用一个函数与循环搜索,然后这个本地化是没有设置,需要再次设置每一次
def getdata(symbol):
driver.get(f"https://www.castorama.pl/search?term={symbol}")
name = WebDriverWait(driver,2).until(
EC.presence_of_element_located((By.ID, "product-title"))
)
price = WebDriverWait(driver,2).until(
EC.presence_of_element_located((By.CLASS_NAME, "_5d34bd7a"))
)
records = {
'ean': symbol,
'cena': price.text,
'name': name.text
}
return records
你有办法解决它吗?
2条答案
按热度按时间k4aesqcs1#
代替
selenium
,你可以使用他们的分页API直接以Json形式获取结果:图纸:
编辑:按代码搜索:
图纸:
rsaldnfx2#
谢谢,添加了一个函数和循环来搜索Excel文件中的每个条形码行。但我只是要求一个提示如何将结果保存在Excel文件中。在以前的这个程序中,我使用了pandas,但我还没有JSON的经验。