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: