浏览器基本操作

  • Selenium WebDriver提供各种有用的方法来控制浏览器
  • 常见的浏览器基本操作分类:
  • 浏览器导航操作
  • 调整浏览器窗口大小操作
  • 获取窗口里网页信息

浏览器导航操作

Selenium11--浏览器基本操作_窗口大小

"""
打开留言板页,等待3秒
点击"高级搜索",等待3秒
后退,等待3秒
前进,等待3秒
地址栏输入登录页的网址来进行访问,等待3秒
后退,等待3秒
关闭浏览器。
"""
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
driver = webdriver.Firefox() # 启动浏览器
driver.get('http://localhost/upload/message.php') # 打开留言板页
sleep(3)
driver.find_element(By.LINK_TEXT,'高级搜索').click() # 进入高级搜索页
sleep(3)
driver.back() # 返回到留言板页
sleep(3)
driver.forward() # 前进到高级搜索页
sleep(3)
driver.get('http://localhost/upload/user.php') # 打开登录页
sleep(3)
driver.back() # 后退到高级搜索页
sleep(3)
driver.quit() # 关闭浏览器

刷新页面处理

"""
进入首页,点击高级搜索,用关键字806搜索后,点击结果里的P806
"""
from selenium import webdriver
from time import sleep
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By
driver = webdriver.Firefox() # 启动浏览器
driver.get('http://localhost/upload/index.php') # 打开首页
driver.find_element(By.LINK_TEXT,'高级搜索').click() # 进入高级搜索页
driver.find_element(By.ID,"keywords").send_keys('806')
driver.find_element(By.XPATH,"/html/body/div[7]/div[2]/div[1]/div/div/form/table/tbody/tr[7]/td/input[2]").click()
while True:
try:
driver.find_element(By.LINK_TEXT, 'P806')
except NoSuchElementException:
driver.refresh()
else:
driver.find_element(By.LINK_TEXT,'P806').click()
break
driver.quit() # 关闭浏览器
"""
注解:
应用场景:网页加载不出来,需要刷新网页
功能说明:
如果找不到元素,就刷新网页,如果找到,就操作它
持续刷新网页,直到找到元素能操作位置
"""

调整浏览器窗口大小操作

Selenium WebDriver提供了各种有用的方法来控制浏览器

Selenium11--浏览器基本操作_搜索_02

"""
打开打开留言板页,等待3秒
把浏览器窗口最小化,等待3秒,打印窗口大小尺寸中宽和高
把浏览器窗口最大化,等待3秒,打印窗口大小尺寸中宽和高
自定义浏览器窗口大小,把窗口设置为宽度600px和高度400px,等待3秒,打印窗口左上角位置坐标
自定义浏览器窗口位置,把窗口左上角坐标设置为(50px,50px),等待3秒,打印窗口左上角位置坐标
关闭浏览器。

"""
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
driver = webdriver.Firefox() # 启动浏览器
driver.get('http://localhost/upload/message.php') # 打开留言板
driver.minimize_window() # 最小化
dict1 = driver.get_window_size()
print(dict1)
print(f'宽度是{dict1["width"]}')
print(f'高度是{dict1["height"]}')
driver.maximize_window() # 最大化
dict2 = driver.get_window_size()
print(dict2)
print(f'宽度是{dict2["width"]}')
print(f'高度是{dict2["height"]}')
driver.set_window_size(600,400) # 指定宽度,高度
dict3 = driver.get_window_position() # 获取坐标
print(dict3)
print(f'x是{dict3["x"]}')
print(f'y是{dict3["y"]}')
driver.set_window_position(50,50) # 指定坐标,x,y
dict4 = driver.get_window_position() # 获取坐标
print(dict4)
print(f'x是{dict4["x"]}')
print(f'y是{dict4["y"]}')
driver.quit()

获取窗口里网页信息

获得网页信息通过获得属性值实现:

Selenium11--浏览器基本操作_留言板_03

Selenium11--浏览器基本操作_搜索_04

"""
打开首页,获得标题,URL,网页源代码
"""
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
driver = webdriver.Firefox() # 启动浏览器
driver.get('http://localhost/upload/index.php')
t = driver.title # 获得网页标题
print(t)
u = driver.current_url # 获取当前的URL
print(u)
p = driver.page_source # 获得页面源代码
print(p)
driver.quit()

作者:暄总-tester