selenium 定位元素方法

上一篇 / 下一篇  2014-02-24 22:38:01 / 个人分类:知识的积累

# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
import unittest, time, re
import time
import os

class Checkbox(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.implicitly_wait(30)
        '''
        self.base_url = "F:\fanxr\Selenium\test\train\test.html"
'''
        self.verificationErrors = []
        self.accept_next_alert = True
   
    def test_baidu(self):
        driver = self.driver
        file_path =  'file://' + os.path.abspath('checkbox.html')
        driver.get(file_path)
        inputs = driver.find_elements_by_tag_name('input')
        '''
        print len(inputs)
#打印input的个数
        for input in inputs:
            if input.get_attribute('type') == 'checkbox':
                input.click()
        time.sleep(2)
        inputs=driver.find_elements_by_tag_name('input')
        for input in inputs:
            if input.get_attribute('type') == 'radio':
                input.click()
        time.sleep(2)
        for input in inputs:
            if input.get_attribute('type') == 'checkbox':
                input.click()
#选择复选框以后,在click(就是取消选择。)
        time.sleep(5)
        '''
        '''
        checkboxs=driver.find_elements_by_css_selector('input[type=checkbox]')
        for checkbox in checkboxs:
            checkbox.click()
        time.sleep(5)
        '''
     # 选择最后一个checkbox并click pop() 方法用于删除并返回数组的最后一个元素。
        driver.find_elements_by_css_selector('input[type=checkbox]').pop().click()
        time.sleep(2)

==============================================================
#通过CSS方式定位browser.find_element_by_css_selector("#kw").send_keys("selenium")#通过xphan方式定位

browser.find_element_by_xpath("//input[@id='kw']").send_keys("selenium")

<ahref="http://news.baidu.com"name="tj_news">新 闻</a>

driver.find_element_by_css_selector("a[name=\"tj_news\"]").click()


<aonclick="queryTab(this);"mon="col=502&pn=0"title="web"href="http://www.baidu.com/">网页</a>

driver.find_element_by_css_selector("a[title=\"web\"]").click()


<aclass="RecycleBin xz"href="javascript.:void(0);"> 

driver.find_element_by_css_selector("a.RecycleBin").click()


xpath:idRelative (id相关性)

driver.find_element_by_xpath("//div[@id='fm']/form/span/input").send_keys("selenium")#在/form/span/input 层级标签下有个div标签的id=fm的元素
driver.find_element_by_xpath("//tr[@id='check']/td[2]").click()#id为'check' 的tr ,定闪他里面的第2个td
xpath:position (位置) driver.find_element_by_xpath("//input").send_keys("selenium") driver.find_element_by_xpath("//tr[7]/td[2]").click()#第7个tr 里面的第2个td
xpath: href (水平参考) driver.find_element_by_xpath("//a[contains(text(),'网页')]").click()


xpath:link

driver.find_element_by_xpath("//a[@href='http://www.baidu.com/']").click()


TAG:

 

评分:0

我来说两句

Open Toolbar