Python 3.x ';第页来源';和';通过“标记”名称(“正文”)查找“元素”。text';?

Python 3.x ';第页来源';和';通过“标记”名称(“正文”)查找“元素”。text';?,python-3.x,selenium,selenium-webdriver,webdriver,Python 3.x,Selenium,Selenium Webdriver,Webdriver,正在尝试查找UI登录页(网页)上是否存在文本。 我可以通过“driver.page\u source()”和driver.find\u element\u by\u tag\u name(“body”)。text driver.page_source() 驱动程序。通过标记名称(“正文”)查找元素。文本 方法1和方法2有什么区别 哪一个更适合做要求的任务 哪个更快 或者要使用的任何Selenium UI方法 任何帮助都将不胜感激。寻找有价值的投入。 有什么想法吗?这里有什么帮助吗?页面源将提

正在尝试查找UI登录页(网页)上是否存在文本。 我可以通过
“driver.page\u source()”
driver.find\u element\u by\u tag\u name(“body”)。text

  • driver.page_source()

  • 驱动程序。通过标记名称(“正文”)查找元素。文本

  • 方法1和方法2有什么区别
  • 哪一个更适合做要求的任务
  • 哪个更快
  • 或者要使用的任何Selenium UI方法
  • 任何帮助都将不胜感激。寻找有价值的投入。
    有什么想法吗?这里有什么帮助吗?

    页面源将提供所有文本,包括HTML标记、样式等,正如您在执行脚本中编写的那样,以返回innerHTML。因此,所有HTML代码都将被返回,很明显,这些代码也将包含文本。您也可以使用selenium获得整个html,而不是通过browser.page_source使用JavaScript executor

    另一方面,browser.find_element_by_tag_name(“body”)。text将返回页面上没有html标记的所有文本

    对我来说,第二种方法应该是首选的,而且速度更快,因为您将拥有长度更小的字符串(没有不必要的html标记)和您感兴趣的实际文本

    text = "abcd"
     page_source = driver.execute_script("return document.body.innerHTML;")
     if text in page_source:
         return True
     else:
         return False
    
    text = "abcd"
     value = text in self.browser.find_element_by_tag_name("body").text
     if value:
        return True
     else:
        return False