在https://www.ameublement.com/showroom页面上,我去了每个品牌,但是在5-7个品牌之后,脚本就不能更进一步了,因为它需要滚动页面。这是一个错误:
ElementClickInterceptedError:元素单击截获:元素不能点击点(389,539)。其他元素将收到单击:
这是我的密码:
let swd = require("selenium-webdriver");
let browser = new swd.Builder();
let tab = browser.setChromeOptions().forBrowser("chrome").build();
async function main() {
await tab.get("https://www.ameublement.com/showroom");
// PAGE BRAND
let brands = await tab.findElements(
swd.By.css(".col-6.col-lg-12.card-img")
);
for (let e of brands) {
console.log('go to page of a brand')
await e.click()
tab.sleep(300);
// GO BACK
tab.navigate().back()
// await tab.executeScript("arguments[0].scrollIntoView();", e);
// tab.getElementByClassName(e).scrollIntoView();
};
}我试过:
// await tab.executeScript("arguments[0].scrollIntoView();", e);然后我试着:
// tab.getElementByClassName(e).scrollIntoView();第二次抛出此错误:
TypeError: tab.getElementByClassName不是一个函数
发布于 2022-08-18 20:06:17
这是因为tab是没有这种功能的ThenableWebDriver的一个实例。请参阅有关文档的链接。
你可以做的是使用简单的javascript滚动。
await tab.executeScript("window.scrollBy(0,1000)");
https://stackoverflow.com/questions/73405101
复制相似问题