Bonjour, par curiosité, je me suis mis à utiliser Selenium ces jours-ci.
D'abord avec python, puis avec nodeJS.
J'ai écris un script assez simple permettant de récupéré une liste de titre d'un site donnée, seulement je n'arrive pas à transposer une partie du code que j'ai réalisé en python vers nodeJS.
La partie en question est celle-ci :
options.add_argument("--disable-web-security")
options.add_argument("--disable-site-isolation-trials")
Elle me provoque l'erreur suivante que j'ai réussi à corriger en python :
DevTools listening on ws://127.0.0.1:63723/devtools/browser/44034948-f90d-4e86-aee1-1df02e655335[0627/001618.220:INFO:CONSOLE(0)] "Access to fetch at 'https://comasoiling.casa/cuid/' from origin 'https://www.japscan.ws' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'.", source: https://www.japscan.ws/ (0)
Si quelqu'un a une piste ça m'aiderait grandement, merci.
Python
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
url = "https://www.japscan.ws"
options = Options()
options.add_argument("--disable-web-security")
options.add_argument("--disable-site-isolation-trials")
options.headless = True
driver = webdriver.Chrome(options=options)
driver.get(url)
# Actions
mangas_list = driver.find_elements(By.XPATH,"//div[@id='chapters']/div[@class='tab-pane container active']/h3/a")
for manga in mangas_list:
print(manga.text)
driver.close()
NodeJS
let chrome = require('selenium-webdriver/chrome');
let {Builder} = require('selenium-webdriver');
let driver = new Builder()
.forBrowser('chrome')
.setChromeOptions(new chrome.Options().headless())
.build();
driver.get('https://www.japscan.ws/');