我用 Facebook 练习,
WebDriver driver = new HtmlUnitDriver();
driver.get("http://www.facebook.com");
成功登录后我尝试发送消息。但我找不到留言区:
WebElement selectMessages = driver.findElement(By.id("fbMessagesFlyout"));
selectMessages.click();
WebElement elementMess = driver.findElement(By.id("q"));
elementMess.sendKeys("Dalia");
elementMess.submit();
此代码只是在 header 上部署带有消息的 JavaScript,然后也在 fb header 处发送搜索请求。 如何找到指向拨号页面的正确链接,然后找到其中的文本咏叹调?
最佳答案
这有效!
@BeforeTest
public void setUp() throws Exception {
driver = new FirefoxDriver();
baseUrl = "https://www.facebook.com";
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
}
@Test
public void testUntitled() throws Exception {
driver.get(baseUrl + "/login.php");
driver.findElement(By.id("email")).sendKeys("youridhere@gmail.com");
driver.findElement(By.id("pass")).sendKeys("yourpassword");
driver.findElement(By.name("login")).click();
Thread.sleep(3000);
WebElement msgframe = driver.findElement(By.id("fbMessagesJewel"));
msgframe.findElement(By.tagName("a")).click();
List<WebElement> element = driver.findElements(By
.className("messagesContent"));
element.get(0).click();
WebElement chat = driver.findElement(By.className("fbNubFlyoutFooter"));
chat.findElement(By.tagName("textarea")).sendKeys("Hi");
driver.findElement(By.tagName("textarea")).sendKeys(Keys.RETURN);
Thread.sleep(2000);
}
关于java - 如何使用 Selenium Webdriver 正确查找网页元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21850193/