【问题标题】:Selenium - PHP error - Finding text not contained in an tagSelenium - PHP 错误 - 查找标签中不包含的文本
【发布时间】:2014-10-07 16:48:21
【问题描述】:

我通过 ID 或标签等找到元素。但是我的元素在一个没有标签的 body 标签中,我怎样才能找到它?我知道它在 body 标签中,但也有其他元素! “我要查找的文本”是显示的 php 错误,我希望能抓住它。我通常去写WebElement x = driver.findElement(By.??); 我不能继续,因为我不确定该怎么做。

示例 HTML 文档

<head></head>

<body>

Text I want to find

<div>xx</div>
<div>yy</div>

</body>

java标签的原因是,我用Java来写我的代码?

【问题讨论】:

    标签: java html selenium-webdriver


    【解决方案1】:

    在您的情况下,我会使用“上下文项表达式”,即 .(dot) 运算符。所以如果我这样写一个 Xpath:

    //div[contains(.,'Text To Be Searched')]
    

    然后它会找到所有包含文本Text To Be Searched的div元素。对你来说,我的答案是

    driver.findElement(By.xpath("//body[contains(.,'Text I want to find')]"));
    

    【讨论】:

    • 我喜欢这样,但如果我希望正文标签中的文本不包含在任何标签中怎么办?因为 php 错误可以是任何类型,并且要搜索的文本可能会有所不同
    • //*[contains(.,'Text I want to find')] - 它将找到所有包含文本“我要查找的文本”的网络元素。
    • 我要查找的文本可能会有所不同。
    【解决方案2】:

    你应该在 p 标签中添加该文本,然后你可以写:

    WebElement x = driver.getElementByTag('p');
    

    【讨论】:

    • 我不允许更改网页。我没有写代码。它实际上是一个错误弹出,说“::$cardPackage in /Applications/XAMPP/xamppfiles/htdocs/corporate/verify.php on line 63”/
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    • 2014-06-01
    • 2012-04-22
    • 1970-01-01
    • 2010-10-26
    • 1970-01-01
    相关资源
    最近更新 更多