объект str не имеет атрибута ‘get’

#python-3.x #selenium

#python-3.x #селен

Вопрос:

Я использую unittest example в selenium python

попробовал Google, но не получил правильного решения

 from selenium import webdriver
import unittest
#import HtmlTestRunner




class googlesearch(unittest.TestCase):
    driver = 'driver'


    @classmethod
    def setupClass(self):
        self.driver = webdriver.Chrome(chrome_options=options)
        self.driver.implicitly_wait(10)
        self.driver.maximize_window()


    def test_search_automationstepbystep(self):
        self.driver.get("https://google.com")
        self.driver.find_element_by_name("q").send_keys("Automation Step By step")
        self.driver.find_element_by_name("btnk").click()


    def test_search_naresh(self):
        self.driver.get("https://google.com")
        self.driver.find_element_by_name("q").send_keys("Naresh")
        self.driver.find_element_by_name("btnk").click()


    @classmethod
    def teardownClass(self):
        self.driver.close()
        self.driver.quit()
        print("Test completed")

if __name__== "__main__":
    unittest.main()
  

Комментарии:

1. driver = 'driver' итак, driver это str . Чего вы ожидали, когда вы вызывали get строку?

Ответ №1:

Как уже упоминалось @Error — Синтаксическое раскаяние , driver — это строка из-за вашей первой строки кода в вашем классе.

Если вы планируете получить доступ к драйверу глобально, обязательно объявите driver как глобальный.