java - 使用 Selenium Java 单击 Instagram 中的关注按钮

标签 java css selenium xpath

enter image description here

嗨,尝试使用 java 自动点击按钮,但在 for 循环中使用 javascriptexecutor 时遇到问题。这是我的代码:

     List<WebElement>clickOnFollowButton = driver.findElements(By.xpath("//button[contains(text(),'Follow')]"));
        for (int i = 0; i < clickOnFollowButton.size() ; i++) {
            driver.findElements(By.xpath("//button[contains(text(),'Follow')]")).get(i).click();

            ((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();", clickOnFollowButton);

        }

非常感谢您的帮助。

最佳答案

我认为这个参数“arguments[0].scrollIntoView();”应该在.click之前。

并且您必须先将列表中的每个成员设置为 WebElement 变量,然后再由 JavascriptExecutor 执行它,然后单击它:

for (int i = 0; i < clickOnFollowButton.size() ; i++) {
    WebElement element = driver.findElements(By.xpath("//button[contains(text(),'Follow')]")).get(i);
    ((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();", element);
    element.click();
}

顺便说一句,还有另一种方法可以使用 foreach 来执行循环列表,如下所示:

List<WebElement> clickOnFollowButton = driver.findElements(By.xpath("//button[contains(text(),'Follow')]"));
for(WebElement element: clickOnFollowButton) {
    ((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();", element);
    element.click();
}

关于java - 使用 Selenium Java 单击 Instagram 中的关注按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62316362/

相关文章:

javascript - 如何在 css 中相互使用两个内容?

python - 在 Python 中使用 Selenium 导航并使用 BeautifulSoup 进行抓取

java - 经典错误 : Unable to update index for central|http://repo1. maven.org/maven2

java - getUIsettings.setMyLocationButtonEnabled(true) 不工作

java - 我想创建一个程序,以随机顺序打印 1 到 1,000,000 之间的数字。号码不得重复或遗漏

jquery - Rails 布局中的导航栏没有响应

css - 设置 maxmert 工具包,包括 css 文件

python-3.x - 如何使用 Selenium 按 class_name 从大学橄榄球数据中抓取图像 url 列表

python - 操作系统错误 : [Errno 8] Exec format error with GeckoDriver and Selenium on MacOS

java - 使用hibernate将ArrayList设置为java.sql.Blob以保存在DB中很困难