我正在尝试验证一些文本,例如使用Python,Webdriver中的driver.getPageSource在网页上显示“ test001”。
我得到的错误对象没有属性“ getPageSource”:

Traceback (most recent call last):
  File "C:\Users\riaz.ladhani\PycharmProjects\Selenium Webdriver\ClearCore \TestCases\AdministrationPage_TestCase.py", line 32, in test_add_Project
    administration_page.add_project()
  File "C:\Users\riaz.ladhani\PycharmProjects\Selenium Webdriver\ClearCore \Pages\admin.py", line 43, in add_project
    test = self.driver.getPageSource
AttributeError: 'WebDriver' object has no attribute 'getPageSource'


看过类似问题的其他人的帖子。他们的答复是使用getPageSource。
我不确定为什么会收到错误消息。感谢一些帮助,谢谢。

我的代码段是:

class AdministrationPage(BasePage):

    def is_project_text_present(self, text):
        #return str(text) in self.driver.getPageSource
        try:
            project_list_test = self.driver.getPageSource
        except NoSuchElementException, e:
            return False
        return "test001" in text # check if the project title text test001 is in the page, return true if it is

class AdministrationPage_TestCase(unittest.TestCase):

    try: administration_page.is_text_present("test001")
        except AssertionError as e: self.verificationErrors.append(str(e))

最佳答案

对我来说似乎是语法错误,应该是page_source而不是getPageSource。请参见doc

尝试

def is_project_text_present(self, text):
        #return str(text) in self.driver.page_source
        try:
            project_list_test = self.driver.page_source
        except NoSuchElementException, e:
            return False
        return "test001" in text # check if the project title text test001 is in the page, return true if it is


但是,我认为抓住整个页面的源代码来测试单个文本并不是一个好主意。只需找到想要的元素并测试该元素是否包含您要查找的文本即可

09-27 05:50