示例5 拖放drag和drop

代码:

# -*- coding: utf-8 -*-

import time
import os
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.keys import Keys

# bugzilla address
url = "http://192.168.32.3/"

class Testdrog_drop(object):

    def __init__(self):
        self.driver = webdriver.Firefox()

    def getpage(self):
        self.driver.get(url)
        element = self.driver.find_element_by_id("forgot_link_bottom")
        target = self.driver.find_element_by_xpath("//*[@id='quicksearch_main']")
        action_chains = ActionChains(self.driver)
        action_chains.drag_and_drop(element, target).perform()
        actions = ActionChains(self.driver)
        elem = self.driver.find_element_by_id("find")
        actions.move_to_element(elem)
        actions.click(elem)
        actions.perform()

if __name__ == '__main__':
    testdrop = Testdrog_drop()
    testdrop.getpage()

说明:

element = self.driver.find_element_by_id("forgot_link_bottom") #获取源元素
target = self.driver.find_element_by_xpath("//*[@id='quicksearch_main']") #获取移动到的元素
action_chains = ActionChains(self.driver)
action_chains.drag_and_drop(element, target).perform() #执行拖放

示例6 弹出对话框示例

代码:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#!/bin/bash/env python
# -*- coding: utf-8 -*-

import time
import os
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

# bugzilla address
url = "http://192.168.32.3/"

class Testdrog_drop(object):

    def __init__(self):
        self.driver = webdriver.Firefox()

    def getpage(self):
        self.driver.get(url)
        self.driver.find_element_by_id("find").click()
        time.sleep(10)
        alert = self.driver.switch_to_alert() #获取警告对话框
        alert.accept()  #确定警告对话框
        self.driver.close()

if __name__ == '__main__':
    testdrop = Testdrog_drop()
    testdrop.getpage()

示例7 历史记录和位置示例

代码 #!/bin/bash/env python # -- coding: utf-8 --

import time
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains

# bugzilla address

url = "http://192.168.32.3/"

class TestHistory(object):

    def __init__(self):
        self.driver = webdriver.Firefox()

    def getpage(self):
        self.driver.get(url)
        self.driver.find_element_by_id("enter_bug").click()
        time.sleep(3)

    def testhistory(self):
        self.getpage()
        self.driver.back()
        time.sleep(3)
        self.driver.forward()

if __name__ == "__main__":
    testhistory = TestHistory()
    testhistory.testhistory()

说明: 

self.driver.back()和self.driver.forward() 实现了页面的返回和前进。

示例8 Cookies添加

代码: #!/bin/bash/env python # - coding: utf-8 -

from selenium import webdriver


class TestCookie(object):

    def __init__(self):
        self.driver = webdriver.Firefox()

    def getcookie(self):
        self.driver.get("http://www.baidu.com")
        cookieslist = self.driver.get_cookies()
        print(cookieslist)

    def addcookie(self):
        self.getcookie()
        cookie = {'name': 'test01', 'value': 'test02'}
        self.driver.add_cookie(cookie)
        cookieslist = self.driver.get_cookies()
        print(cookieslist)
        self.driver.close()


if __name__  == "__main__":
    testcookie = TestCookie()
    testcookie.addcookie()

说明: cookie格式为字典包括"name"和“value"两个键值对。add_cookie方法将cookie添加到cookies中。

上一篇selenium-Sample(二) 下一篇selenium-Sample(四)

by 李鹏