一天教你使用Python3+selenium(四)

以免被人说又臭又长,所以分开写了

pageobject

baidu_new_page.py

'''
Created on 2019年4月26日

@author: NULL
'''
import unittest
from famework.base_page import BasePage
class NewPage(BasePage):
    ww = ['id','ww']
    wr = ['id','s_btn_wr']
 
    def type_ww(self):
        self.type(self.ww,'selenium')
 
    def click_wr(self):
        self.click(self.wr)
if __name__ =='__main__':
    unittest.main()#与测试基类那里对应,这里去掉的话,那里也要去掉

BaiduPage.py

from famework.base_page import BasePage

'''
class BaiduPage(BasePage):
    kw = ['id','kw']#搜索输入框
    su = ['id','su']#搜索按钮
 
    def type_kw(self):
        self.type(self.kw,'selenium')
 
    def click_su(self):
        self.click(self.su)
'''
class BaiduPage(BasePage):
    kw = ['id','kw']#搜索输入框
    su = ['id','su']#搜索按钮
    new = ['link','新闻']
    denglu =['xpath','/a[@class = "lb lb-button"]']
 
    def type_kw(self):
        self.type(self.kw,'selenium')
 
    def click_su(self):
        self.click(self.su)
        
    def click_denglu(self):
        self.click(self.denglu)
 
    def click_new(self):
        self.click(self.new)

text测试类

test_baidu_new.py

'''
Created on 2019年4月26日

@author: NULL
'''
import unittest

from famework.base_page import BasePage
from pageobject.baidu_new_page import NewPage
from pageobject.BaiduPage import BaiduPage
class test_baidu_new(unittest.TestCase):
    '''百度新闻'''
 
    def setUp(self):
        bro = BasePage(self)
        self.driver = bro.open_browser(self)
 
    def test_new(self):
        '''搜索selenium'''
        baidu = BaiduPage(self.driver)
        baidu.click_new()
        new = NewPage(self.driver)
        new.type_ww()
        new.click_wr()        
        new.sleep(10)
        new.quit()
if __name__ =='__main__':
    unittest.main()

text.py

import unittest
from famework.base_page import BasePage
from pageobject.BaiduPage import BaiduPage
'''
dr = webdriver.Firefox()
dr.get('https://docs.qq.com/sheet/DWlV2QVZxS2tuYVdo?opendocxfrom=admin&tab=BB08J2')
s = dr.window_handles
driver = BasePage(dr)
driver.get_img()
driver.sleep(3)

try:
    #driver.switch_to.frame("login_frame")
    driver.switch_to.frame('login_frame')
    denglu = ['xpath','//div[@class="blankpage-content-wrapper"]/div[@id="blankpage-button-pc"]']
    driver.click(denglu)

    print("QQ")
    print("QQ")
    driver.sleep(10)
    QQ = ['xpath','//div[@id="bottom_qlogin"]/a[@class="link"]']
    print(QQ)
    driver.click(QQ)
except ValueError:
    print("Oops!  That was no valid number.  Try again   ")


print("QQ")
driver.sleep(10)
QQ = ['xpath','//div[@id="bottom_qlogin"]/a[@class="link"]']
print(QQ)
driver.click(QQ)
#driver.type(kw,'selenium+python')
#driver.sleep(3)
#driver.type(kw,'selenium')
#su = ['xpath','//input[@id = "su" and @type="submit"]']
#driver.click(su)
#print('denbgxia ')
#driver.get_img()
#driver.sleep(2)
#driver.get_title()
#driver.get_log()
'''
'''
s = BasePage(driver=1)
bro =s.config_get('browser','environment')
print('browser是:%s' %bro)
s.config_write('用户名','username','environment')
s.config_write('yonghuming','username')
s.config_write(section='yonghu')
 
url = s.config_get('url')
print('url是:%s' % url)

class baidu(unittest.TestCase):
    def test_nos(self):
        s = BasePage(self)
        self.driver = s.open_browser(self)
if __name__ =='__main__':
    unittest.main()
    '''
class test_baidu(unittest.TestCase):
    '''百度首页'''
 
    def setUp(self):
        bro = BasePage(self)
        self.driver = bro.open_browser(self)
 
    def test_baisu(self):
        '''测试百度搜索'''
        baisu = BaiduPage(self.driver)
        baisu.type_kw()
        baisu.click_su()
        baisu.click_denglu()
        baisu.sleep(10)
        baisu.quit()

if __name__ =='__main__':
    unittest.main()

text2.py这个没用,不用看,真的不用看

from selenium import webdriver
import time
 
'''dr = webdriver.Firefox()
dr.get('https://www.baidu.com/')
dr.maximize_window()'''
'''win_handle = dr.current_window_handle#获取当前窗口句柄
print(win_handle)
js = 'window.open("http://news.baidu.com")'#js打开新窗口
dr.execute_script(js)#执行js
handles = dr.window_handles#获取所有窗口句柄
for i in handles:
    if i != win_handle:#如果句柄不是当前窗口的句柄
        dr.switch_to.window(i)#切换窗口
ww = dr.find_element_by_id('ww')#新闻页面的搜索输入框
ww.send_keys('selenium')
time.sleep(2)
dr.switch_to.window(win_handle)#切换到百度首页的句柄
tr = dr.find_element_by_id('kw')#百度首页搜索框
tr.send_keys('selenium')
time.sleep(5)
dr.quit()'''
''' 
dr = webdriver.Chrome()
dr.get('https://www.baidu.com')
dr.maximize_window()
js = 'window.open("http://news.baidu.com")'
dr.execute_script(js)
handles = dr.window_handles#获取所有窗口句柄
dr.switch_to.window(handles[1])
ww = dr.find_element_by_id('ww')#新闻页面的搜索输入框
ww.send_keys('selenium')
time.sleep(2)
dr.switch_to.window(handles[0])
tr = dr.find_element_by_id('kw')#百度首页搜索框
tr.send_keys('selenium')
dr.quit()'''
'''kw = dr.find_element_by_id('kw')#新闻页面的搜索输入框
kw.send_keys('selenium')
time.sleep(2)
su = dr.find_element_by_id('su')
su.click()
time.sleep(2)
sreach_window=dr.current_window_handle
dl = dr.find_element_by_xpath('//div[class="s_tab_inner"]/a [class="toindex"]')
dl.click()
'''
'''print("打开浏览器")
browser=webdriver.Chrome()
print("最大化")
browser.maximize_window()
print("进入地址")
browser.get("http://proxy.crm3test.ctc.com:8184/portal-web/portal/login")
print("等10秒")
time.sleep(5)'''
'''browser.find_element_by_id("kw").send_keys("selenium")
browser.find_element_by_id("su").click()'''
'''print("输入工号")
browser.find_element_by_id('userName').send_keys('AGL197186')
print("输入密码")
browser.find_element_by_id('pwd').send_keys('aA123456')
print("手动输入验证码")
time.sleep(10)
print("登陆")
browser.find_element_by_id('loginBtn').click()
time.sleep(5)
print("点击菜单")
#browser.find_element_by_xpath('//body/div[1]/div[2]/div/ul/li/a/i[@class="glyphicon main-menu"]').click()
time.sleep(7)
browser.current_window_handle
browser.switch_to.frame('ifrPage100002')
browser.find_element_by_xpath('//body/div[3]/div[2]/div/div[2]/div/div/div[2]/div/div/a[2]').click()
#browser.find_element_by_xpath('//body/div[2]/div[1]/div[1]/div/a/img').click()
#browser.quit()'''
print('打印1')
print('打印2')
print('打印3')
time.sleep(2)#睡两秒
print('打印4')

getcwd.py获取当前路径

'''
Created on 2019年4月12日

@author: NULL
'''
import os
def get_cwd():
    path = os.path.dirname(os.path.abspath(__file__))
    #当前文件的绝对路径
    return path

你复制到这里,表名你已经可以运行了!在写这几片博客的时候,我运行了好几遍了

可以看看效果

一天教你使用Python3+selenium(四)

最后,祝大家玩的愉快