我正在尝试使用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"));
AND
WebElement post = driver.findElement(By.cssSelector("glyphsSpriteNew_post__outline__24__grey_9.u-__7"));
我用以下方法单击它:
((JavascriptExecutor)driver).executeScript("arguments[0].click()", post);
我仍然是初学者,因此将不胜感激!
答案 0 :(得分:0)
您不需要任何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();