使用WebDriverWait时,硒Python中显示未定义全局名称浏览器的错误

时间:2018-08-22 01:01:52

标签: python selenium selenium-webdriver webdriver python-unittest

代码:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
import selenium.webdriver.support.ui as ui
from time import sleep
import unittest


class Testawgp(unittest.TestCase):

    def setUp(self):
        self.browser=webdriver.Chrome()
        self.browser.get("http://www.awgp.org")

   def test_home_screen_components(self):

        self.home_banner = ui.WebDriverWait(browser,15).until(lambda browser: 
        self.browser.find_element_by_link_text('TELL ME MORE'))
        self.homescreen_banner=self.browser.find_element_by_tag_name('a')
        self.main_window = self.browser.current_window_handle
        self.homescreen_banner.send_keys(Keys.CONTROL + Keys.RETURN)
        self.browser.find_element_by_tag_name('body').send_keys(Keys.CONTROL + Keys.t)
        self.browser.switch_to_window(main_window)
        self.browser.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 'W')
        self.browser.switch_to_window(main_window)

def tearDown(self):

        self.browser.quit()

错误:未定义全局名称浏览器

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

根据您对unittest模块进行的代码试用,以解决您需要更改行的问题:

self.home_banner = ui.WebDriverWait(browser,15).until(lambda browser: self.browser.find_element_by_link_text('TELL ME MORE'))

收件人:

home_banner = WebDriverWait(self.browser,15).until(lambda x: x.find_element_by_link_text('TELL ME MORE'))