selenium学习:不同方式定位元素

文件名:checkbox.html

成都创新互联公司拥有网站维护技术和项目管理团队,建立的售前、实施和售后服务体系,为客户提供定制化的成都网站设计、网站建设、网站维护、绵阳电信机房解决方案。为客户网站安全和日常运维提供整体管家式外包优质服务。我们的网站维护服务覆盖集团企业、上市公司、外企网站、商城开发、政府网站等各类型客户群体,为全球成百上千家企业提供全方位网站维护、服务器维护解决方案。

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<title>Checkbox</title>
<link href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.js">
</script>
</head>
<body>
		<h4>Checkbox</h4>
		<div class="well">  		
			<form class="form-horizontal">  
				<div class="control-group">
					<label class="control-label" for='c1'>checkbox1</label>
					<div class="controls">
						<input type="checkbox" id="c1"/>
					</div>
				</div>
				<div class="control-group">
					<label class="control-label" for='c2'>checkbox2</label>
					<div class="controls">
						<input type="checkbox" id="c2"/>
					</div>
				</div>
				<div class="control-group">
					<label class="control-label" for='c3'>checkbox3</label>
					<div class="controls">
						<input type="checkbox" id="c3"/>
					</div>
				</div>
			</form>  
		</div>  
	</body>	
</html>

文件名:test.py

from selenium import webdriver
import os,time
driver = webdriver.Chrome()
file_path='file:///'+os.path.abspath('checkbox.html')
driver.get(file_path)

#代码片段一:
inputs = driver.find_elements_by_tag_name('input')
for i in inputs:
    if i.get_attribute('type')=='checkbox':
        i.click()
        time.sleep(1)
        
#代码片段二:
#通过XPath找到type=checkbox的元素
checkboxes=driver.find_elements_by_xpath("//input[@type='checkbox']")
#通过CSS找到type=chekcbox的元素
checkboxes=driver.find_elements_by_css_selector("input[type=checkbox]")
for checkbox in checkboxes:
    checkbox.click()
    time.sleep(1)

#代码片段三:
inputs = driver.find_elements_by_tag_name('input')
for i in inputs:
    if i.get_attribute('id')=='c1':
        i.click()
        time.sleep(3)
driver.find_elements_by_css_selector("input[type=checkbox]").pop.click
pop(-1)、pop()默认获取一组元素中的最后一个
pop(0)获取一组元素中的第一个
pop(1)获取一组元素中的第二个
driver.quit()

上述test.py代码中,

  • 代码片段一:通过find_elements_by_tag_name('input')获取input,获取到的input元素包含type和id属性,因此不唯一,通过get_attribute方法指定对应的属性找到唯一元素,checkbox,从而确定了元素的定位

  • 代码片二:通过find_elements_by_xpath获取到一系列的checkbox元素,属于同类别元素

         通过find_elements_by_css_selector获取到一系列的checkbox元素,属于同类别元素

标题名称:selenium学习:不同方式定位元素
文章URL:https://www.cdcxhl.com/article4/gpsoie.html

成都网站建设公司_创新互联,为您提供企业网站制作云服务器网站内链网站收录网站营销微信小程序

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设