jeudi 8 août 2019

I can't find how to get text with selenium python

i try to get the content of

<span class="noactive">0&nbsp;Jours restants</span>

(which is the expiration date of the warranty) but i don't know how to get it (i need to print it in a file)

my code

def scrapper_lenovo(file, line):
   CHROME_PATH = 'C:\Program Files (x86)\Google\Chrome\Application\chrome.exe'
   CHROMEDRIVER_PATH = 'C:\webdriver\chromedriver'
   WINDOW_SIZE = "1920,1080"
   chrome_options = Options()  
   chrome_options.add_argument("--headless")
   chrome_options.add_argument("--window-size=%s" % WINDOW_SIZE)
   chrome_options.binary_location = CHROME_PATH
   d = driver.Chrome(executable_path=CHROMEDRIVER_PATH,
                          chrome_options=chrome_options)  
   d.get("https://pcsupport.lenovo.com/fr/fr/warrantylookup")
   search_bar = d.find_element_by_xpath('//*[@id="input_sn"]')
   search_bar.send_keys(line[19])
   search_bar.send_keys(Keys.RETURN)
   time.sleep(4)
   try:
      warrant = d.find_element_by_xpath('//*[@id="W-Warranties"]/section/div/div/div[1]/div[1]/div[1]/p[1]/span')
      file.write(warrant)
   except:
      print ("test")
      pass
   if ("In Warranty" not in d.page_source):
    file.write(line[3])
    file.write("\n")
   d.close()

i tried as you can see to print the content of 'warrant' and i couldn't find any function allowing it (i saw some using .text(), .gettext() but for whatever reasons i couldn't get them to work).




Aucun commentaire:

Enregistrer un commentaire