selenium学习:多表单的切换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了selenium学习:多表单的切换相关的知识,希望对你有一定的参考价值。

文件:frame.html

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<link href="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet"/>
<script type="text/javascript">$(document).ready(function(){});>
</script>
</head>
<body>
	<div class="row-fluid">  		
		<div class="span10 wel">
			<h3>frame</h3>
				<iframe id="if" name="nf" src="http://www.baidu.com" width="800" height="300">					
				</iframe>	
		</div>	  
	</div>  
</body>	
<script src="http://cdn.bootcss.com/bootstrap/3.3.0/css/bootstrap.min.js">
</script>
</html>

文件:test11.py

from selenium import webdriver

import os,time

driver = webdriver.Chrome()

file_path=‘file:///‘+os.path.abspath(‘frame.html‘)

driver.get(file_path)


#由于使用的是iframe,内嵌,因此需切换到iframe(id="if")

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

#由于使用的是iframe,内嵌,因此需切换到iframe(id="if")
driver.switch_to.frame("if")
time.sleep(3)
driver.find_element_by_id("kw").send_keys("selenium")
driver.find_element_by_id("su").click()
time.sleep(3)
driver.quit()

swith_to_frame()默认直接获取表单的id或name属性,若iframe无可用的id活name,则可以通过下述方法进行定位:

xf=driver.find_element_by_path(‘//*[@class="if"]‘)
driver.switch_to.frame(xf)
driver.switch_to_.parent_frame()


以上是关于selenium学习:多表单的切换的主要内容,如果未能解决你的问题,请参考以下文章

selenium学习:多表单的切换

Selenium 多表单(frame/iframe)切换

python+selenium2自动化---多表单多窗口切换

selenium 窗口切换(多表单切换)

基于python实现UI自动化4. 一文搞定selenium 多表单(iframe/ frame)切换

基于python实现UI自动化4. 一文搞定selenium 多表单(iframe/ frame)切换