当前位置: 首页 > 知识库问答 >
问题:

访问没有标签的正文中的特定文本

禄烨然
2023-03-14

这是佩奇的地盘,

<html>
    <head>
    <body>
        <div id="Content">
        Take/O a/O look/O at/O the/O section/O about/O filling/O in/O forms/O   using/O
        <div id="Footer">
    </body>
</html>

我想访问

我试过:

>

  • drv。findElement((By.xpath(“//html/body”))。getText() 但这会在页面的body标签下显示全文。

    drv.find元素((By.xpath(//html/body/data))

    现在我可以使用前面的xpath选项了,因为我怀疑这是否也会在页面中查找标记?


  • 共有2个答案

    东郭自强
    2023-03-14

    这是一个使用Java字符串的粗略解决方案。

    // get the page source 
    String pageSource = driver.getPageSource();
    
    // split the pafe source into 2. temp[0] will contain the page source
    // before <div id="Content"> and temp[1] will contain page source after 
    String[] temp1 = pageSource.split("<div id=\"Content\">");
    
    // get the required text by splitting the temp1[1]
    String[] temp2 = temp1[1].split("<div id=\"Footer\">");
    
    // required text will be contained in the temp2[0]
    String requiredText = temp2[0];
    

    这个解决方案并不完整。如果不查看整个DOM,我无法提供准确的代码。但我想你明白了。

    梁烨烨
    2023-03-14

    从你的措辞来看,我假设你实际上是想说这是你的html代码,带有封闭的head和div标记:

    <html>
        <head></head>
        <body>
            <div id="Content"></div>
            Take/O a/O look/O at/O the/O section/O about/O filling/O in/O forms/O   using/O
            <div id="Footer"></div>
        </body>
    </html>
    

    在这种情况下,这个问题的答案就是你要找的:如何在Selenium WebDriver中获得元素的文本(通过Python api)而不包括子元素文本?

     类似资料:
    • 我正在使用Unity游戏引擎创建游戏。在这个游戏中,我抓取了一个屏幕截图,并将其保存到Unity的默认文件夹(“Application.PersistentDataPath”): /data/data/de.mytest.mygame/files/screenshot.png 如何修复此权限问题? 编辑:创建意图如下所示:

    • 问题内容: 好吧,说我有这个: 如果我想获得值“ 2”时选择“选项B”,选择器会是什么样? 请注意,这不是在询问如何获取 选定的 文本值,而是询问其中的任何一个(是否选择),具体取决于value属性。我试过了: 但这是行不通的。 问题答案: 它正在寻找ID 为且属性等于的元素。 您想要的是的孩子:

    • 问题内容: 我有一个像 我可以得到标题标签 但是我怎样才能在b标签之后得到文本呢?我想通过引用该元素而不是body元素来获取包含“ Title:”的元素之后的文本。 问题答案: 参考的文档,你可能想使用你的: 在这种情况下,“同级”是下一个节点,而不是下一个元素/标签。元素的下一个节点是文本节点,因此您可以获得所需的文本。

    • 我的问题是:我有两个标签。 我的目标是单击只包含单词“word”而不包含“microsoft word”的标签。 所以我做了这个: 但是这种方法让我点击包含“单词”的标签,而不等于“单词”,所以我点击的标签是第一个,而不是我想要的第二个。 我必须找到一种方法来检查等式,但我没有找到。 我能怎么办?

    • 我需要根据创建的项目的名称访问特定的文件夹。在Main_Activity中,填充该项目的名称并创建新文件夹。因此,Camera_Activity将保存在该文件夹中拍摄的照片。接下来我访问Gallery_Activity,但它从未进入创建的项目的文件夹。我怎样才能访问那个文件夹? 例如:创建文件夹的名称:Proj_1,但用户从默认打开的另一个文件夹中选择了照片,显示出来的uri是:content:/

    • 问题内容: 我有以下html(用标记的换行符): 如何查找 我 要查找的 文本 ?下面的代码返回第一个发现的值,因此我需要以某种方式按 固定文本 进行过滤。 更新 。如果我使用以下代码: 然后它只返回 固定文本: 。 问题答案: 您可以将正则表达式传递给的text参数,如下所示: