Home  >  Article  >  Backend Development  >  Examples of primary automation operations with python, selenium and chrome

Examples of primary automation operations with python, selenium and chrome

黄舟
黄舟Original
2018-05-15 09:30:562266browse

Examples of primary automation operations with python, selenium and chrome

#coding=utf-8from selenium import webdriver
import os,time

chromedriver = "C:\Users\li.liu\AppData\Local\Google\Chrome\chromedriver.exe"'''environ是一个字符串所对应环境的映像对象;
os.environ.keys()  主目录下所有的key
os.environ 显示key+内容。

windows:
· os.environ['HOMEPATH']:当前用户主目录。
os.environ['TEMP']:临时目录路径。
os.environ[PATHEXT']:可执行文件。
os.environ['SYSTEMROOT']:系统主目录。
os.environ['LOGONSERVER']:机器名。
os.environ['PROMPT']:设置提示符。
linux:
os.environ['USER']:当前使用用户。
os.environ['LC_COLLATE']:路径扩展的结果排序时的字母顺序。
os.environ['SHELL']:使用shell的类型。
os.environ['LAN']:使用的语言。
os.environ['SSH_AUTH_SOCK']:ssh的执行路径。'''os.environ["webdriver.chrome.driver"] = chromedriver

driver =  webdriver.Chrome(chromedriver)

driver.get("http://baidu.com")
time.sleep(3)
print (u'窗口最大化')
driver.maximize_window()
a=driver.title

print a
time.sleep(1)
driver.find_element_by_id('kw').send_keys('selenium')

driver.find_element_by_id('su').click()



driver.quit()

Example 2.

#coding=utf-8from selenium import webdriver
import os,time,unittest
import log
import logging
import traceback
logger = log.Logger('e:/1/web_log.log',clevel = logging.DEBUG,Flevel = logging.INFO)
def f(n):
    logger.info(n)
    print n    
    
class baidu(unittest.TestCase):
    def setUp(self):
        
        self.chromedriver='C:\Users\li.liu\AppData\Local\Google\Chrome\chromedriver.exe'
        os.environ['webdriver.chrome.driver']=self.chromedriver
        self.driver=webdriver.Chrome(self.chromedriver)
        print u'驱动定义完成'
    def test_baidu_search(self):
        u"""百度搜索"""        
        driver = self.driver
        f(u'打开百度')
        driver.maximize_window()
        driver.get('http://baidu.com')
        time.sleep(2)
        print u'打开另一个网址'
        driver.get('http://news.baidu.com')
        print u'窗口最大化'
        driver.maximize_window()
        time.sleep(1)
        print u'返回上一个网页'
        driver.back()
        time.sleep(3)
        driver.forward()
        time.sleep(2)
        driver.back()
        time.sleep(1)
        driver.close()
        driver.quit()

    def test_baidu_set(self):
        driver = self.driver
        driver.get('http://baidu.com')
        time.sleep(3)        
        driver.find_element_by_id('kw').send_keys(u'测试')
        driver.find_element_by_id('su').click()
        time.sleep(2)
        driver.find_element_by_id('kw1').clear()
        driver.find_element_by_id('kw').send_keys(u'测试用例')
        time.sleep(3)
        print u'关闭浏览器'
        driver.close()
        print u'退出浏览器服务'
        driver.quit()    

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

a Browser Developer Mode

FireFox— —>Firebug front-end tool, and for Chrome browser—>right-click and select 'Inspect Element' or shortcut key F12, you can see some code written by developers, which is useful for obtaining certain properties of the test object (test control) Very helpful.

bBasic browser operations

Maximization and size settings of the browser window, as well as forward and backward
Here are a few points to note:
XXXX .get(URL) Go to URL address
time.sleep(ns) Wait time
XXXX.back() Return to the previous browser
XXXX.forward() Forward to the next browser
XXXX.set_window_size(width,height) width,height We can set it ourselves according to our needs.
XXXX.maximize() Maximize the window
XXXX.title Get the title of the browser
XXXX.quit() Exit the browser
XXXX.close() Close the browser

import time —> Ensure the stability of the script running
browser=webdriver.Chrome() —> Call the Chrome browser
Use the print() statement to check whether the script is running correctly

The above is the detailed content of Examples of primary automation operations with python, selenium and chrome. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn