找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 2146|回复: 2

[求助] python 小白求助一个简单的问题

0

主题

0

帖子

0

积分

贫民

积分
0
anjeff1225 发表于 2022-8-14 10:43:26 | 显示全部楼层 |阅读模式
本帖最后由 anjeff1225 于 2022-8-14 10:46 编辑

我有下面2段重复的代码。想把他写成一个function。
  1. driver = webdriver.Chrome()
  2. driver.get('http://www.baidu.com')
  3. time.sleep(2)
  4. driver.quit()

  5. driver2 = webdriver.Firefox()
  6. driver2.get('http://www.baidu.com')
  7. time.sleep(2)
  8. driver2.quit()
复制代码


我写成了下面的代码。但是好像webdriver_name 根本传不进去。是需要一种别的写法吗?
  1. def go_to_baidu(webdriver_name):
  2.     driver= webdriver.webdriver_name()
  3.     driver.get('http://www.baidu.com')
  4.     time.sleep(2)
  5.     driver.quit()
复制代码

求大神们指点。万分感谢!

回复

使用道具 举报

0

主题

12

帖子

12

积分

贫民

积分
12
flyonetwo 发表于 2022-9-2 14:06:34 | 显示全部楼层
写一个函数,传入字符串,判断获取的字符串是百度还是火狐,然后根据条件来初始化不同的类,前往不同的地址,你看看这样可不可以
回复 支持 反对

使用道具 举报

0

主题

8

帖子

8

积分

贫民

积分
8
QGPtolc 发表于 2022-9-3 16:15:29 | 显示全部楼层
本帖最后由 QGPtolc 于 2022-9-3 16:27 编辑

就不能入参字符串判断下?
def go_to_baidu(webdriver_name):
    driver = None
    if webdriver_name = "Chrome":
          driver = webdriver.Chrome()
    else:
          driver = webdriver.Firefox()
    # driver= webdriver.webdriver_name()
    driver.get('http://www.baidu.com')
    time.sleep(2)
    driver.quit()
还有一种方法,使用eval。
def go_to_baidu(webdriver_name):
    # webdriver_name入参字符串必须正确:Chrome或Firefox
    driver = eval("webdriver.%s()" % webdriver_name)
    driver.get('http://www.baidu.com')
    time.sleep(2)
    driver.quit()

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表