获取页面元素属性
#encoding=utf-8
from selenium import webdriver
import unittest
class VisitByFirefox(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox(executable_path="f:\\geckodriver")
def test_getWebElementAttribute(self):
url="http://www.sogou.com"
self.driver.get(url)
searchBox=self.driver.find_element_by_id("query")
print(searchBox.get_attribute("name"))
searchBox.send_keys(u"制定输入内容")
print(searchBox.get_attribute("value"))
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()
获取页面元素CSS属性值
#encoding=utf-8
from selenium import webdriver
import unittest
class VisitByFirefox(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox(executable_path="f:\\geckodriver")
def test_getWebElementCssValua(self):
url="https://www.baidu.com"
self.driver.get(url)
searchBox=self.driver.find_element_by_id("kw")
print(u"输入框的高度是:",searchBox.value_of_css_property("height"))
print(u"输入框的宽度是:",searchBox.value_of_css_property("width"))
font=searchBox.value_of_css_property("font-family")
print(u"搜索输入框的字体是:",font)
self.assertEqual(font,"arial")
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()
结果
输入框的高度是: 22px
输入框的宽度是: 500px
搜索输入框的字体是: arial
Ran 1 test in 12.018s
OK
清空搜索框内容
#encoding=utf-8
from selenium import webdriver
import unittest
class VisitByFirefox(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox(executable_path="f:\\geckodriver")
def test_clearInputBoxText(self):
url="https://www.baidu.com"
self.driver.get(url)
input=self.driver.find_element_by_id("kw")
input.send_keys(u"自动化测试")
import time
time.sleep(3)
input.clear()
time.sleep(3)
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()
在输入框中输入指定内容:
HTML代码:
<html>
<body>
<input type="text"id="text"value="文本框默认内容">文本框</input>
</body>
</html>
API实例代码
#encoding=utf-8
from selenium import webdriver
import unittest
class VisitByFirefox(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox(executable_path="f:\\geckodriver")
def test_sendTextToInputBoxText(self):
url="file:///F:/3.html"
self.driver.get(url) #访问自定义的HTML页面
input=self.driver.find_element_by_id("text") #获取输入框页面对象
input.clear() #清除输入框中的默认内容
input.send_keys(u"输入内容")
import time
time.sleep(3)
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()
单击按钮操作:
HTML代码:
<html>
<body>
<input type="text"id="text"value="文本框默认内容">文本框</input>
<input type="button"id="button"value="改变文本框的文字"onclick=document.getElementById("text").value="改变了!"></input>
</body>
</html>
API实例:
#encoding=utf-8
from selenium import webdriver
import unittest
class VisitByFirefox(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox(executable_path="f:\\geckodriver")
def test_clickButton(self):
url="file:///F:/4.html"
self.driver.get(url)
button=self.driver.find_element_by_id("button")
button.click()
import time
time.sleep(3)
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()
双击某元素
HTML代码:
<html>
<body>
<input id='inputBox'type="text"ondblclick="javascript:this.style.background='red'">请双击</>
</body>
</html>
API实例:
#encoding=utf-8
from selenium import webdriver
import unittest
class VisitByFirefox(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox(executable_path="f:\\geckodriver")
def test_doubleClick(self):
url="file:///F:/4.html"
self.driver.get(url)
inputBox=self.driver.find_element_by_id("inputBox")
from selenium.webdriver import ActionChains
action_chains=ActionChains(self.driver)
action_chains.double_click(inputBox).perform()
import time
time.sleep(3)
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()