1、WebDriver API
driver.get(url)
driver.current_url
driver.titel
driver.page_source
driver.back()
driver.forward()
driver.refresh()
driver.fullscreen_window()
driver.minimize_window()
driver.maximize_window()
driver.get_window_size()
driver.set_windows_size(with,height)
driver.get_windows_position()
driver.set_windows_position()
driver.current_windows_handle
driver.get_screenshot_as_file()
driver.name
driver.quit()
driver.close()
from selenium import webdriver
import time
from time import sleep
chrome_opt = webdriver.ChromeOptions()
chrome_opt.add_argument('--disable-gpu')
driver = webdriver.Chrome(executable_path = r'C:\Users\Wu\AppData\Local\Google\Chrome\Application\chromedriver.exe',chrome_options = chrome_opt )
def test_driver():
print ("当前浏览器为:",driver.name )
url1 = "http://www.baidu.com"
driver.get(url1)
print ("当前访问URL:",driver.current_url)
print ("当前URL标题为:",driver.title)
time.sleep(5)
url2 = "https://tieba.baidu.com"
driver.get(url2)
print ("当前访问URL:",driver.current_url)
print ("当前URL标题为:",driver.title)
time.sleep(5)
driver.back()
print ("运行driver.back()")
print ("当前访问URL:",driver.current_url)
print ("当前URL标题为:",driver.title)
time.sleep(5)
driver.forward()
print ("运行driver.forward()")
print ("当前访问URL:",driver.current_url)
print ("当前URL标题为:",driver.title)
time.sleep(5)
driver.set_window_size(900, 800)
print ("设置浏览器窗口值:",driver.get_window_size())
time.sleep(5)
driver.minimize_window()
print ("浏览器最小化:",driver.get_window_position())
time.sleep(5)
driver.maximize_window()
print ("浏览器最大化:",driver.get_window_size())
time.sleep(5)
driver.fullscreen_window()
print ("浏览器全屏化:",driver.get_window_size())
time.sleep(5)
driver.set_window_position(720, 400)
print ("浏览器位置:",driver.get_window_position())
driver.close()
if __name__ == '__main__':
test_driver()
当前浏览器为: chrome
当前访问URL: https://www.baidu.com/
当前URL标题为: 百度一下,你就知道
当前访问URL: https://tieba.baidu.com/
当前URL标题为: 百度贴吧——全球最大的中文社区
运行driver.back()
当前访问URL: https://www.baidu.com/
当前URL标题为: 百度一下,你就知道
运行driver.forward()
当前访问URL: https://tieba.baidu.com/
当前URL标题为: 百度贴吧——全球最大的中文社区
设置浏览器窗口值: {'width': 900, 'height': 788}
浏览器最小化: {'x': 10, 'y': 10}
浏览器最大化: {'width': 1382, 'height': 744}
浏览器全屏化: {'width': 1366, 'height': 768}
浏览器位置: {'x': 720, 'y': 400}
2、元素定位方法
编号 | 定位方法 | 定位单个元素 | 定位多个元素 |
---|
1 | ID | find_element_by_id(‘id值’)或find_element(by = ‘id’,vlalue = ‘id值’) | 无 |
2 | name | find_element_by_name(‘name值’) 或find_element(by = ‘name’,vlalue = ‘name值’) | find_elements_by_name(‘name值’) 或find_elements(by = ‘name’,vlalue = ‘name值’) |
3 | class | find_element_by_class_name(‘class值’) 或find_element(by = ‘class name’,vlalue = ‘class值’) | find_elements_by_class_name(‘class值’) 或find_elements(by = ‘class name’,vlalue = ‘class值’) |
4 | HTML 标签名 | find_element_by_tag_name(‘tag名称’) 或find_element(by = ‘tag name’,vlalue = ‘tag名称’) | find_elements_by_tag_name(‘tag名称’) 或find_elements(by = ‘tag name’,vlalue = ‘tag名称’) |
5 | 链接全部文字 | find_element_by_link_text(‘链接文字’)或 find_element(by = “link text”,value = ‘链接文字’) | find_elements_by_link_text(‘链接文字’)或 find_elements(by = “link text”,value = ‘链接文字’) |
6 | 链接部分文字 | find_element_by_partial_link_text(‘链接文字’)或 find_element(by = “partial link text”,value = ‘链接文字’) | find_elements_by_partial_link_text(‘链接文字’)或 find_elements(by = “partial link text”,value = ‘链接文字’) |
7 | XPath | find_element_by_xpath(‘Xpath表达式’)或find_element(by = ‘xpath’ value = ‘Xpath表达式’) | find_elements_by_xpath(‘Xpath表达式’)或find_elements(by = ‘xpath’ value = ‘Xpath表达式’) |
8 | CSS | find_element_by_css_selector(‘CSS表达式’)或find_element(by = ‘css selector’ value = ‘CSS表达式’) | find_elements_by_css_selector(‘CSS表达式’)或find_elements(by = ‘css selector’ value = ‘CSS表达式’) |
import unittest
import time
from selenium.webdriver import ActionChains
from selenium import webdriver
class VisitSogouByIE(unittest.TestCase):
def setUp(self):
chrome_opt = webdriver.ChromeOptions()
chrome_opt.add_argument('--disable-gpu')
self.driver = webdriver.Chrome(executable_path = r'C:\Users\Wu\AppData\Local\Google\Chrome\Application\chromedriver.exe',chrome_options = chrome_opt )
def test_doubleClick(self):
url = "http://www.baidu.com"
self.driver.get(url)
self.driver.find_element_by_id("kw").send_keys("selenium")
self.driver.find_element_by_id("su").click()
time.sleep(3)
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()