J'essaie simplement de naviguer vers une page Web et de vérifier la disponibilité. Quand je trouve l'état de la disponibilité et que j'essaie de voir si c'est "En stock". alors je veux effectuer une action (dans l'exemple print "Found"). Quand je le teste, la variable InStockCheck
ne semble pas s'inscrire comme une chaîne. Je crois que lorsque j'utiliseSimple si la déclaration ne fonctionne pas Comparaison des chaînes
InStockCheck = driver.find_element_by_id("availability").text
que ce n'est pas une chaîne?
sortie actuelle est:
InStock.
Yellow
sortie souhaitée:
InStock.
Found
code:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import TimeoutException
import bs4 as bs
FoundItem = "Nope"
driver = webdriver.Safari()
while (FoundItem == "Nope"):
#driver = webdriver.Safari()
driver.get("https://www.amazon.ca/gp/product/B01MUAGZ49/ref=s9_acsd_top_hd_bw_bHp5rsB_c_x_w?pf_rd_m=A3DWYIK6Y9EEQB&pf_rd_s=merchandised-search-3&pf_rd_r=34J7S43PK58HEWFWQRCY&pf_rd_t=101&pf_rd_p=1a0d15fb-8f11-58d0-9960-246ad05b4dc8&pf_rd_i=16329250011")
#SourceCodeTest = driver.page_source
#Soup = bs.BeautifulSoup(SourceCodeTest, "lxml")
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "availability")))
InStockCheck = driver.find_element_by_id("availability").text
InStockCheck = InStockCheck.replace(" ","")
print(InStockCheck)
if InStockCheck == "InStock.":
print("Found")
else:
print("Yellow")
print("Pink")
Avez-vous vérifié s'il y a des espaces ou d'autres caractères invisibles? – pvg
ouais vous pourriez utiliser 'InStockCheck = InStockCheck.strip()' il semble avoir un saut de ligne quand vous l'imprimez. –
@pvg Je ne sais pas comment "vérifier les caractères invisibles". La solution que Jean a indiqué n'a fonctionné que pour mon débogage futur, comment vérifierais-je les caractères invisibles? – Aiden