Я пытаюсь распечатать, чтобы записать в файл, какой тип доставки и товар есть
from bs4 import BeautifulSoup
from selenium import webdriver
stock_file = r"C:\Users\Tut10\Desktop\PSTool-Python\Final\test.txt"
def Home_Depot_Shipping(url):
driver = webdriver.Chrome(r"C:\Users\Tut10\Desktop\PSTool-Python\chromedriver.exe")
driver.get(url)
# open a file to write to
file_to_write = open(stock_file, "a")
# send that file to me via email or text
free_delivery = driver.find_elements_by_xpath(r'//*[@id="buybelt"]/div[2]/div[2]/div/div[2]')
for x in free_delivery:
#This should print one of the following options
# Free Delivery, Standard Delivery, or Receive an email blah blah blah
try:
if "Free Delivery" in x.text:
driver.quit()
file_to_write.close()
return "\t\t[+] Free Delivery"
elif "Get it as soon as tomorrow" in x.text:
driver.quit()
#file_to_write.write("Cell: " + str(cell) + "[*] Express Delivery " + url + '\n')
file_to_write.write("[*] Express Delivery " + url + "\n")
file_to_write.close()
return "\t\t[*] Express Delivery"
elif "Receive an email" in x.text:
driver.quit()
file_to_write("[-] Out of Stock %s\n" % url)
file_to_write.close()
return "\t\t[-] Out of stock!"
elif "Standard Delivery" in x.text:
driver.quit()
file_to_write.close()
return "\t\t[+] Standard Delivery"
except Exception as e:
driver.quit()
print(e)
Home_Depot_Shipping(r"https://www.homedepot.com/p/WEN-8-in-5-Speed-Drill-Press-4208/204853910?keyword=wen+4208")
Я ожидаю, что программа запишет в файл, если доставка экспресс-доставка (получите как можно скорее) или нет в наличии (получите электронное письмо)
Просто случайно, я знаю, что код внутри def Home_Depot_Shipping должен быть с отступом. Просто здесь не было копирования. Не обращайте на это внимания, пожалуйста. Он отлично работает как для бесплатной доставки, так и для стандартной. Когда он пытается записать в файл, я продолжаю получать эту ошибку
Объект _io.TextIOWrapper не вызывается
Будем очень признательны за любые предложения или помощь! Спасибо