记录一个web自动化工具

Selenium框架

使用方法

from selenium import webdriver

# 这里使用的是谷歌浏览器 还有很多的浏览器可以选择 wd
= webdriver.Chrome(r'd:\webdrivers\chromedriver.exe') wd.get('http://cdn1.python3.vip/files/selenium/sample2.html') # 先根据name属性值 'innerFrame',切换到iframe中 wd.switch_to.frame('innerFrame') # 根据 class name 选择元素,返回的是 一个列表 elements = wd.find_elements_by_class_name('plant') for element in elements:
print(element.text) # 切换回 最外部的 HTML 中 wd.switch_to.default_content() # 然后再 选择操作 外部的 HTML 中 的元素 wd.find_element_by_id('outerbutton').click() wd.quit()

xpath 选择器的使用方法

 

 

# 使用上图的方法可以快速的取到xpath的位置
driver.find_elements_by_xpath("/html/body/div[4]/div[4]")

 

示例:

以下的方法已经失效了自供参考如有错误请谅解

 

from selenium import webdriver

# 注意如果要使用谷歌的浏览器需要下载chromedriver.exe
driver = webdriver.Chrome('F:\下载\chromedriver.exe')

driver.get('https://www.baidu.com/')


# 模拟登录
class Mock_login():
    def __init__(self, browser, url_login, username, password):
        self.browser = browser
        self.url_login = url_login
        self.username = username
        self.password = password

        # 这里就不多写判断机制了(如:url是否可以访问,浏览器路径是否正常....) 就直接写主要功能

        # 创建一个实例
        self.wd = webdriver.Chrome(self.browser)
        # 隐形等待时间(功能:等待网络IO和js渲染)
        self.wd.implicitly_wait(10)

    def run(self):
        self.wd.get(self.url_login)

        # .click()点击
        self.wd.find_element_by_xpath('/html/body/div[2]/div[1]/div[4]/a[2]').click()
        self.wd.find_element_by_name('normal').click()
        # 选择到用户名的输入框
        username_bot = self.wd.find_element_by_name('userName')
        # 输入内容
        username_bot.send_keys(self.username)
        # 选择到密码的输入框
        password_bot = self.wd.find_element_by_name('password')
        # 输入内容
        password_bot.send_keys(self.password)
        # 登录
        self.wd.find_element_by_id('TANGRAM__PSP_11__submit').submit()

        # 退出浏览器
        self.wd.quit()

if __name__ == '__main__':
    Mock_login('F:\下载\chromedriver.exe','https://www.baidu.com/','aa','123')

 

 

 

 

 

 

posted @ 2020-07-23 00:09  wenjian022  阅读(119)  评论(0编辑  收藏  举报