我是第一次尝试硒。我的代码如下:
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 他没有我遇到的问题。
有人可以帮忙吗?
答案 0 :(得分:1)
创建驱动程序实例时,您缺少self
。所以代替
driver=webdriver.Chrome(chrome_options=options,executable_path=chromedriver)
应该是
self.driver=webdriver.Chrome(chrome_options=options,executable_path=chromedriver)
(在视频中,他们正是这样做的)