Selenium11--浏览器基本操作

浏览器基本操作

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

浏览器导航操作

"""
    打开留言板页,等待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提供了各种有用的方法来控制浏览器

"""
  打开打开留言板页,等待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()

获取窗口里网页信息

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

"""
	打开首页,获得标题,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()
posted @ 2022-12-12 23:39  暄总-tester  阅读(118)  评论(0)    收藏  举报