首页 > 解决方案 > 如何在 Selenium 中获得“nth-of-type”

问题描述

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

在此处输入图像描述

但是我如何“查询”该段落?

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

    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
       )

我收到此错误:AttributeError:'WebElement' object has no attribute 'findElement'

标签: pythonseleniumautomated-tests

解决方案


findElement()不是 Python。请尝试以下方法:

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

推荐阅读