首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript -selenium-can驱动程序-找不到滚动方法

JavaScript -selenium-can驱动程序-找不到滚动方法
EN

Stack Overflow用户
提问于 2022-08-18 14:46:56
回答 1查看 30关注 0票数 0

https://www.ameublement.com/showroom页面上,我去了每个品牌,但是在5-7个品牌之后,脚本就不能更进一步了,因为它需要滚动页面。这是一个错误:

ElementClickInterceptedError:元素单击截获:元素不能点击点(389,539)。其他元素将收到单击:

这是我的密码:

代码语言:javascript
复制
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();

    };
}

我试过:

代码语言:javascript
复制
// await tab.executeScript("arguments[0].scrollIntoView();", e);

然后我试着:

代码语言:javascript
复制
// tab.getElementByClassName(e).scrollIntoView();

第二次抛出此错误:

TypeError: tab.getElementByClassName不是一个函数

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-18 20:06:17

这是因为tab是没有这种功能的ThenableWebDriver的一个实例。请参阅有关文档的链接。

你可以做的是使用简单的javascript滚动。

await tab.executeScript("window.scrollBy(0,1000)");

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73405101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档