首页 > 解决方案 > 硒发布到 Instagram

问题描述

我正在尝试在 JAVA 中使用 Selenium 在 chrome 上单击 Instagram 上的发布按钮(移动仿真)。几周前我做的时候它工作了,但现在似乎 Instagram 改变了一些东西,我无法让它工作!

按钮的检查元素给了我这个:

<span class="glyphsSpriteNew_post__outline__24__grey_9 u-__7" aria-label="New Post"></span>

我尝试通过多种方式单击它:

WebElement post = driver.findElement(By.xpath("//*[@id=\"react-root\"]/section/nav[2]/div/div/div[2]/div/div/div[3]/span"));

WebElement post =  driver.findElement(By.cssSelector("glyphsSpriteNew_post__outline__24__grey_9.u-__7"));

我点击它:

((JavascriptExecutor)driver).executeScript("arguments[0].click()", post);

我仍然是初学者,所以任何帮助将不胜感激!

标签: javascriptcssseleniummacrosselenium-chromedriver

解决方案


您不需要任何 javascript 调用即可单击元素。

通过可见文本找到按钮

    WebElement my_button = driver.findElement(By.linkText("New Post"));

或者

    WebElement my_button = driver.findElement(By.partialLinkText("New Post"));

通过相对 xpath 找到按钮

    WebElement my_button = driver.findElement(By.xpath("//span[contains(@aria-label,'New Post')]"));

点击按钮

    my_button.click();

推荐阅读