如何在 Selenium 中获得“nth-of-type"

2022-01-14 00:00:00 python selenium automated-tests

问题描述

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

I'm using Selenium Webdriver to check the text of this particular paragraph (the one highlighted in blue here):

但我如何查询"该段落?

But how do I 'query' that paragraph?

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

This is what I'm trying (not working):

    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'

I'm getting this error: AttributeError: 'WebElement' object has no attribute 'findElement'


解决方案

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

findElement() is not a Python. Try below instead:

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

相关文章