硒未致电网站

时间:2018-06-25 16:27:20

标签: selenium selenium-webdriver selenium-chromedriver

我是第一次尝试硒。我的代码如下:

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()

一个新的chromebrowser被调用,但是它无法访问该网页。我收到错误消息:

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

当我给定timePractise()时,它可以完美工作,因为在浏览器中,给定的秒数后消失了。但是它似乎没有在调用函数。

Ps:我正在关注此处给出的在线教程:https://www.youtube.com/watch?v=zZjucAn_JYk 他没有我遇到的问题。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

创建驱动程序实例时,您缺少self。所以代替

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

应该是

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

(在视频中,他们正是这样做的)