Selenium基础:浏览器操作 02

1浏览器最大化 maximize_window()

from selenium import webdriver
driver = webdriver.Chrome()
#浏览器最大化
driver.maximize_window()
#关闭浏览器
driver.quit()

2设置浏览器的宽和高 set_window_size(宽,高)

from selenium import webdriver
driver = webdriver.Chrome()
#设置浏览器的宽和高
driver.set_window_size(500,900)
driver.quit()

3访问网页 get()

from selenium import webdriver
driver = webdriver.Chrome()
#访问百度
driver.get("http://www.baidu.com/")
driver.quit()

4浏览器后退 back()

#访问百度并搜索tynam,然后退回百度首页

from selenium import webdriver
driver = webdriver.Chrome()
import time

driver.get("https://www.baidu.com/")
time.sleep(3)
dirver.find_elements_by_id('kw').send_keys('tynam')
driver.find_elements_by_id('su').click()
time.sleep(1)
#操作浏览器后退
driver.back()
driver.quit()
View Code

 5浏览器前进 forward()

#访问百度,搜索tynam,退回百度首页,前进到搜索tynam页面
from selenium import webdriver
driver = webdriver.Chrome()
import time

driver.get("https://www.baidu.com/")
time.sleep(1)
driver.find_elements_by_id('kw').send_keys('tynam')
driver.find_elements_by_id('su').click()
time.sleep(1)
driver.back()
#操作浏览器前进
driver.forward()
driver.quit()
View Code

6刷新页面 refresh()

7关闭浏览器当前窗口 driver.close()

8结束进程 quit()

9获取页面title  

#打印title
print(driver.title)

10获取当前页面的url   current_url

#单击链接 判断tynam在当前url中

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("")
time.sleep(1)
driver.find_elements_by_link_text('tynam').click()
#获取单击后的url
cur_url = driver.current_url
#断言tynam在当前url中
assert 'tynam' in cur_url
driver.quit()

11获取页面源码  page_source

12切换浏览器窗口 switch_to.window(handle) 

获取窗口句柄  

current_window_handle:获取当前窗口句柄

window_handles:返回所有窗口句柄到当前会话  返回list

示例:打开第一个窗口,打印页面title,点击页面a链接打开第二个窗口,打印第二个窗口页面title

方法1

# -*-coding:utf-8-*-

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("")
time.sleep()

print(driver.title)
#获得当前页面句柄
page_handle = driver.current_window_handle
time.sleep(1)
#单击a标签进入第二个页面
driver.find_elements_by_tag_name('a').click()
time.sleep(1)

#此时driver还停留在第一个页面,需要转换到第二个页面
#获取所有窗口的句柄
handles = driver.window_handles
#切换到第二个页面
for handle in handles:
    if handle != page_handle:
       driver.switch_to.window(handle)
print(driver.title)
driver.quit()

方法2  利用list索引

#获取所有窗口句柄后
print(handles)
#切换到第二个页面
driver.switch_to.window(handle[1])
print(driver.title)
driver.quit()

13滚动条操作

移动到页面顶部:execute_script("window.scrollTo(document.body.scrollHeight,0)")

移动到页面底部:execute_script("0,window.scrollTo(document.body.scrollHeight)")

移动到使元素顶部与窗口的顶部对齐位置:execute_script("arguments[0].scrollIntoView();",element)

移动到使元素底部与窗口的底部对齐位置:execute_script("arguments[0].scrollIntoView(false);",element)

 

posted @ 2023-06-09 14:02  1啊1  阅读(88)  评论(0)    收藏  举报