java - 如何使用 Selenium Webdriver 正确查找网页元素?

标签 java facebook selenium

我用 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/

相关文章:

Java Web App上传和加载图像

java - 如何关闭 eclipse 中某些文件夹(如 node_modules)的 javascript 验证(包括 tern/lint/jshint)?

java - Hibernate 的简单对象层次结构

PHP Facebook API 在页面墙上发布

python - Webdriver - 通过标签定位输入 (Python)

java - 没有为 Void 方法调用用于修改传递的对象的 doAnswer()

ruby-on-rails - omn​​iauth 模拟 facebook 回复

facebook - 将社交媒体页面链接到我的应用程序中的按钮

python - 编译后的 py2exe 应用程序 selenium 中缺少文件

在 Ubuntu 上运行 chrome 驱动程序时,Selenium 给出 "unknown error: cannot find Chrome binary"