Селен не звонит на сайт - PullRequest
0 голосов
/ 25 июня 2018

Я пробую селен впервые. Мой код выглядит следующим образом:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.common.by import By
import selenium.webdriver.support.ui as ui
import selenium.webdriver.support.expected_conditions as EC
import os
import time


class expediaUnitTest():

def __init__(self):
 options = webdriver.ChromeOptions()
 options.add_argument('--ignore-certificate-errors')
 options.add_argument('--ignore-ssl-errors')
 dir_path=os.getcwd()
 chromedriver=dir_path+"\chromedriver"
 os.environ["webdriver.chrome.driver"]=chromedriver
 driver=webdriver.Chrome(chrome_options=options,executable_path=chromedriver)

def timerPractice(self):
    time.sleep(5)

def gotoexpedia(self):
    self.driver.get("https://www.expedia.com/")

def teardown(self):
    self.driver.close()



if __name__=="__main__":
  obj=expediaUnitTest()
  obj.gotoexpedia()

Вызывается новый браузер Chrome, но он не имеет доступа к веб-странице. Я получаю сообщение об ошибке:

   AttributeError: 'expediaUnitTest' object has no attribute 'driver'

Когда я даю timePractise (), он работает отлично, так как в браузере пропадает через указанное количество секунд. Но, похоже, он не вызывает функцию.

Ps: я слежу за онлайн-учебником, приведенным здесь: https://www.youtube.com/watch?v=zZjucAn_JYk У него нет проблемы, которую я имею.

Может кто-нибудь помочь, пожалуйста?

1 Ответ

0 голосов
/ 25 июня 2018

Вам не хватает self при создании экземпляра драйвера. Так что вместо

driver=webdriver.Chrome(chrome_options=options,executable_path=chromedriver)

должно быть

self.driver=webdriver.Chrome(chrome_options=options,executable_path=chromedriver)

(в видео они делают именно так)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...