代码之家  ›  专栏  ›  技术社区  ›  NewToJS

如何获得硒的“n类型”

  •  2
  • NewToJS  · 技术社区  · 6 年前

    我正在使用Selenium WebDriver检查这一特定段落的文本(此处以蓝色突出显示的段落):

    enter image description here

    但我该如何“质疑”那一段呢?

    这就是我正在尝试的(不工作):

        def test_intro_text(self):
           """Test that intro text is expected text"""
           container = self.browser.find_element_by_id('visual-17')
           hed_dek_wrapper = container.find_element_by_class_name('hed-dek-wrapper')
           intro_text = hed_dek_wrapper.findElement('p:nth-of-type(2)')
           self.assertIn(
            'Over the past 20 years, we have seen an evolution.',
            intro_text.text
           )
    

    我得到这个错误:属性错误: 'WebElement' object has no attribute 'findElement'

    2 回复  |  直到 6 年前
        1
  •  2
  •   Andersson    6 年前

    findElement() 不是蟒蛇。请改为尝试以下操作:

    intro_text = hed_dek_wrapper.find_element_by_css_selector('p:nth-of-type(2)')
    assert 'Over the past 20 years, we have seen an evolution.' in intro_text.text
    
        2
  •  0
  •   dangi13    6 年前

    只需使用此css选择器即可:

    #visual-7 .hed-dek-wrapper >p:nth-of-type(2)  
    

    使用css选择器查找元素,它将给您第二个p标记。

    driver.find_element_by_css_selector("#visual-7 .hed-dek-wrapper >p:nth-of-type(2)");