请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正在回答

4回答

额,你这个不一样https://img1.sycdn.imooc.com/szimg/5e6c40bc09f177da07460581.jpg。你后面都通过正常实例化了,前面为啥还通过requests.sessionhttps://img1.sycdn.imooc.com//szimg/5e6c410b0977467208320400.jpg你这个还这样来。简直对不上啊

0 回复 有任何疑惑可以回复我~
  • 提问者 慕移动7445437 #1
    是因为出现那个报错,网上查资料说这样可以解决,但我试了还不
    行, 把requests.session删掉,和老师代码一样,还是报那个错
    
     
        def __init__(self,browser):
            self.driver = self.open_browser(browser)
    
        # 打开浏览器
        def open_browser(self, browser):
            try:
                if browser == 'chrome':
                    driver = webdriver.Chrome()
                elif browser == 'firefox':
                    driver = webdriver.Firefox()
                elif browser == 'IE':
                    driver = webdriver.Ie()
                else:
                    driver = webdriver.Edge()
                time.sleep(1)
                return driver
            except:
                print("打开浏览器失败")
                return None
    
        # 打开链接
        def get_url(self, url):
            if self.driver != None:
                if 'http' in url:
                    self.driver.get(url)
                else:
                    print("你的URL有问题")
            else:
                print("case失败")
            self.driver.quit()
    回复 有任何疑惑可以回复我~ 2020-03-16 09:32:30
  • 提问者 慕移动7445437 #2
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-03-17 09:39:48
  • Mushishi 回复 提问者 慕移动7445437 #3
    好了么?
    回复 有任何疑惑可以回复我~ 2020-03-17 13:42:13
提问者 慕移动7445437 2020-03-12 09:27:29

代码和老师的一样,浏览器可以启动了,前面的可以执行,执行到selenium_driver.handle_windows('go'),就报这个错

0 回复 有任何疑惑可以回复我~
提问者 慕移动7445437 2020-03-12 09:26:30

from selenium import webdriver
import time
import requests


# 类使用
class SeleniumDriver:

   # 弄一个构造方法:(实例Selenium时就会运行这个构造方法)弄成全局,将driver
   def __init__(self, browser):
       self.driver = self.open_browser(browser)
       s = requests.session()
       s.keep_alive = False

   # 打开浏览器
   def open_browser(self, browser):
       try:
           if browser == 'chrome':
               driver = webdriver.Chrome()
           elif browser == 'firefox':
               driver = webdriver.Firefox()
           elif browser == 'IE':
               driver = webdriver.Ie()
           else:
               driver = webdriver.Edge()
           time.sleep(1)
           return driver
       except:
           print("打开浏览器失败")
           return None

   # 打开链接
   def get_url(self, url):
       if self.driver != None:
           if 'http://' in url:
               self.driver.get(url)
           else:
               print("你的URL有问题")
       else:
           print("case失败")
       self.driver.quit()

   # 操作浏览器
   def handle_windows(self,*args):
       value = len(args)
       if value == 1:
           if args[0] == 'max':
               self.driver.maximize_window()
           elif args[0] == 'min':
               self.driver.minimize_window()
           elif args[0] == 'back':
               self.driver.back()
           elif args[0] == 'go':
               self.driver.forward()
           else:
               self.driver.refresh()
       elif value ==2:
           self.driver.set_window_size(args[0],args[1])
       else:
           print("你传递的参数有问题")
       time.sleep(5)
       self.driver.quit()

selenium_driver = SeleniumDriver('chrome')
selenium_driver.get_url("http://www.baidu.com")
print("ssss")
selenium_driver.handle_windows('go')


0 回复 有任何疑惑可以回复我~
Mushishi 2020-03-11 21:23:30

你代码发一下,1、你浏览器启动了么?看错误是去初始化大小得时候错误。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信