'page_source' 和 'find_element_by_tag_name( "body" ).text' 有什么区别?



试图查找UI登录页面(网页(上是否存在文本。我可以通过'driver.page_source()'driver.find_element_by_tag_name("body").text进行验证

  1. driver.page_source((

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

    text = "abcd"
    value = text in self.browser.find_element_by_tag_name("body").text
    if value:
    return True
    else:
    return False
    
  1. 方法1和方法2之间有什么区别
  2. 哪一个更适合做要求的任务
  3. 哪个更快
  4. 或者要使用任何Selenium UI方法

如有任何帮助,我们将不胜感激。寻找有价值的投入。你知道吗?这里有人帮忙吗?

页面源代码将提供所有文本,包括HTML标记、样式等,因为您已经在执行脚本中编写了返回innerHTML的代码。因此,所有HTML代码都将被返回,其中显然也将包含文本。您也可以使用selenium获取整个html,而不是通过browser_page_source.使用JavaScript执行器

另一方面,browser.find_element_by_tag_name("body"(.text将返回您在页面上看到的所有不带html标记的文本。

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

最新更新