Farklı alışveriş sitelerinde aynı ürün hakkında bilgi topladığım bir chrome uzantısı geliştiriyoruz. Amazon'da bir ürünün fiyat ve isim bilgisini alıyorum, Selenium kullanarak diğer sitelerdeki fiyat bilgisini öğrenmek istiyorum. Örneğin çekilen ürünün adını trendyolda aratıp bulacak, yine isim ve fiyatını alacak.
const addProductImageTest = () =>{
const newProduct = {
productImage : document.getElementById("landingImage").src,
productPrice : document.getElementsByClassName("a-price aok-align-center")[0].children[0].innerText,
productAvailability : document.getElementById("availability").children[0].innerText,
productName : document.getElementById("productTitle").innerText,
};
chrome.storage.sync.set({
[product]: JSON.stringify([...allProducts, newProduct])
});
}
Yukarıdaki kod, contentScript.js'de Amazon'daki ürünün verilerini almak için kullandığım kod.
const {By,Key,Builder,WebElement,JavascriptExecutor} = require("selenium-webdriver");
require("chromedriver");
const sleep = ms => new Promise(r => setTimeout(r, ms));
async function test_case_amazon(){
let chromeDriver = await new Builder().forBrowser("chrome").build();
await chromeDriver.get("https://amazon.com.tr");
await sleep(1000);
await chromeDriver.findElement(By.xpath("//input[@name='field-keywords']")).sendKeys("Corsair iCUE 4000X RGB", Key.RETURN);
await sleep(2000);
await chromeDriver.findElement(By.id("sp-cc-rejectall-link")).click();
await sleep(2000);
await chromeDriver.findElement(By.xpath("//div[@data-component-type='s-search-result']")).click();
let ege = chromeDriver.findElement(By.xpath("//span[@class ='a-price aok-align-center']/span")).getAttribute('innerText');
await sleep(4000);
console.log(ege);
}
test_case_amazon();
Bu kod ürünün Selenyumlu verilerini aldığım kısımdır. ContentScript.js'deki Selenium kod kısmını farklı alışveriş siteleri için kullanmak istiyorum ancak manifest.json dosyasını nasıl değiştirip Selenium'u nasıl içe aktaracağımı bilmiyorum. Yardım için şimdiden teşekkür ederim
Selenium Chrome eklentisi konusunda yardım
0
●46