【问题标题】:How to access text in a website using Java Selenium如何使用 Java Selenium 访问网站中的文本
【发布时间】:2022-01-24 18:14:15
【问题描述】:

如何使用 Java Selenium 访问网站中的文本?

HTML 快照:

有人可以向我解释如何使用上图中的 java selenium 访问演示用户和电子邮件 ID

https://phptravels.com/demo这是我正在开发的网站

【问题讨论】:

    标签: javascript java selenium xpath textnode


    【解决方案1】:

    我想您应该能够从这些元素值中获取这些值。
    IE。您可以通过以下方式获取email 输入值:

    WebElement email = driver.findElement(By.xpath("//div[.strong[text()='Email']]"));
    String innerEmailvalue = email.getAttribute("value"); 
    

    第二个元素也一样

    【讨论】:

    • 对于上述推荐的解决方案,我只是为 null
    • 好的,但是您正确获得了email WebElement?它不是 null 等?
    • phptravels.com/demo 这是我正在处理的网站,我应该阅读所有类型用户的所有电子邮件和密码
    • 一会儿,你有没有试过用email.getText()提取文字?
    • 是的,我仍然得到空值
    【解决方案2】:

    demouser 文本在 Text Node 中,您必须为 visibilityOfElementLocated() 诱导 WebDriverWait 并使用来自的 executeScript() JavascriptExecutor你可以使用下面的Locator Strategy:

    WebElement myElement = new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//strong[text()='Password']//ancestor::div[1]")));
    String myText = (String)((JavaScriptExecutor)driver).executeScript("return arguments[0].lastChild.textContent;", myElement);
    System.out.println(myText);
    

    在一行中:

    System.out.println((String)((JavaScriptExecutor)driver).executeScript("return arguments[0].lastChild.textContent;", new WebDriverWait(driver, 20).until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//strong[text()='Password']//ancestor::div[1]")))));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-02
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 2020-10-31
      • 2021-01-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多