我正试图在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);
我还是一个初学者,所以任何帮助都将不胜感激!
您不需要任何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();