python3+selenium(十七)三种方式导入自定义模块

模块概念

python中一个.py称为一个模块
python中默认规则,包名和文件名都是小写,类名称单词首字母大写,函数名称小写,多个字母下划线隔开

使用模块有什么好处?

  1. 提高了代码的可维护性。
  2. 提高代码复用性。当一个模块编写完毕,就可以被其他地方引用。

命题

打开浏览器,百度搜索“selenium","前一页”,“后一页”,“退出”

思路

  1. demo1.py实现把常用的几个Selenium方法 back()、 forward()、open_url()、quitBrowser()封装到BasePage类
#coding:utf-8

class BasePage(object):


    def __init__(self,driver):
        self.driver=driver


    def back(self):
        self.driver.back()


    def forward(self):
        self.driver.forward()


    def open_url(self,url):
        self.driver.get(url)


    def quitBrowser(self):
        self.driver.quit()
  1. demo01.py实现调用demo1.py
#coding:utf-8
from selenium import webdriver
from demo1 import BasePage #两个文件在同一目录下,直接用import导入模块
import time


class BaseSearch(object):
    driver=webdriver.Chrome()
    driver.maximize_window()
    driver.implicitly_wait(8)

    basepage=BasePage(driver)


    def open_baidu(self):
        self.basepage.open_url("https://www.baidu.com")


    def test_search(self):
        self.driver.find_element_by_id("kw").send_keys("Selenium")
        time.sleep(2)
        self.basepage.back()
        self.basepage.forward()
        self.basepage.quitBrowser()


baidu=BaseSearch()
baidu.open_baidu()
baidu.test_search()

三类不同导入模块方式

方法 模块与可执行文件关系
import方法 py执行文件和模块同属于同一个父目录
sys模块 py执行文件和模块不属于同一个父目录
通过pth文件 py执行文件和模块不属于同一个父目录

import方法

  1. 目录结构如下(同一工程下,同一包内)
    在这里插入图片描述
  2. demo01.py中导入源码l加如下代码:
from demo1 import BasePage

sys模块导入自定义模块的path

  1. 目录结构如下(同一工程下,不同包内)
    在这里插入图片描述
  2. demo01.py中导入源码l加如下代码:
    在这里插入图片描述

pth文件找到自定义模块

  1. 目录结构如下:
    在这里插入图片描述
  2. 在python目录 D:\ProgramData\Anaconda3\Lib\site-packages下(请根据实际路径填写),新建文件module_pro1.pth,文档中编写demo1路径
    在这里插入图片描述
  3. demo01.py中导入源码l加如下代码:
from demo1 import BasePage

配置过程中遇到问题

(1)PyCharm报错:Please specify a different SDK name
【原因】 因为PyCharm中存在相同名字的虚拟环境变量
在这里插入图片描述
【解决办法】【setting】-【project test】-【project Interpreter】-下拉列表中选择【show all】-删除重复的虚拟环境变量
在这里插入图片描述
(2) Pycharm执行demo01.py时,提示无法打开Selenium
【原因】 文档是直接从pro1粘贴到pro2的,导致执行路径未改变
【解决办法】
Pycharm右上角【Edit Configurations…】
在这里插入图片描述
对demo01设置正确的【Scripte path】
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Amy8020/article/details/88953301