我正在尝试验证一些文本,例如使用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
但是,我认为抓住整个页面的源代码来测试单个文本并不是一个好主意。只需找到想要的元素并测试该元素是否包含您要查找的文本即可