我正在为instagram创建一个机器人,它将自动将消息发送给我的关注者。我希望它向所有人发送消息,但是我不确定如何做到这一点。
这是我的代码
@Test
public void SimpleTest() throws InterruptedException { //
driver.findElement(By.id("com.instagram.android:id/log_in_button")).click();
By path = By.xpath("//*[@text='Phone number, email or username']");
driver.findElement(path).sendKeys("draco_boys");
Thread.sleep(5000);
driver.findElement(By.id("com.instagram.android:id/password")).sendKeys("xxxxxxxx");
Thread.sleep(5000);
driver.findElement(By.id("com.instagram.android:id/next_button")).click();
Thread.sleep(5000);
By path2 = By.xpath("//android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ImageView[@index='3']");
Thread.sleep(7000);
driver.findElement(path2).click();
Thread.sleep(5000);
By path3 = By.xpath("//android.widget.LinearLayout[@index='1']"); //first person in my messages
driver.findElement(path3).click();
By path4 = By.xpath("//*[@text='Message…']");
driver.findElement(path4).sendKeys("Hello");
driver.findElement(By.id("com.instagram.android:id/row_thread_composer_button_send")).click();
driver.findElement(By.id("com.instagram.android:id/action_bar_button_back")).click();
}
}
它在我的消息中向第一个人发送消息后,我希望它返回并为第二个人,第三个人等执行相同操作。有谁知道我可以使用什么命令?
答案 0 :(得分:0)
您可以使用driver.findElements(By)获取所有元素的列表并遍历它们。您只需采用xpath的方式来适应它,它会选择所有人,而不只是一个人。在循环中,您发送消息并返回。
答案 1 :(得分:0)
您可以像这样
在webElement列表中找到所有关注者 List list1=d.findElements(By.xpath("//android.widget.LinearLayout[@index]"));
//这将为您提供您的关注者列表。
现在您可以像这样遍历它
List list1=d.findElements(By.xpath("//android.widget.LinearLayout[@index]"));
for(WebElment list1:ele){
driver.findElement(ele).click();
By path4 = By.xpath("//*[@text='Message…']");
driver.findElement(path4).sendKeys("Hello");
driver.navigate().back()
}
希望这对您有所帮助!