目录

浏览器打开位置及尺寸

浏览器打开位置set_window_position()

浏览器尺寸set_window_size()

浏览器截图,网页刷新

浏览器截图

刷新网页

元素定位

元素定位包

元素概念

元素定位概念

selenium元素定位

定位一个元素find_element()

定位多个元素find_elements()

浏览器中查找多个元素document.getElementById()


浏览器打开位置及尺寸

浏览器打开位置set_window_position()

例如在浏览器左上角打开,或者在坐标为(x,y)的地方打开

set_window_position(横坐标,纵坐标)

a1.set_window_position(0,0)# 左上角

a1.set_window_position(200,300)# 距离左上角200,300

浏览器尺寸set_window_size()

设置浏览器窗口大小,长和宽

set_window_size(长,宽)

a1.set_window_size(800,400)

浏览器截图,网页刷新

浏览器截图

get_screenshot_as_file('文件保存路径 ')

a1=she()
a1.get('https://baidu.com/')
a1.get_screenshot_as_file('截图.png')
a1.quit()

刷新网页

刷新当前网页

refresh()

a1.refresh()

元素定位

元素定位包

from selenium.webdriver.common.by import By

By中包含八种定位元素

定位方式 核心逻辑 核心特点 适用场景
By.ID 通过唯一id属性定位 速度最快,最稳定,优先使用 有唯一id的搜索框、登录按钮
By.NAME 通过name定位 速度快,比id更加常见 表单元素,输入框、单选框
By.CLASS_NAME 通过class定位 使用范围广 元素有特征性class属性
By.TAG_NAME 通过标签名定位 适合批量定位同类元素  定位所有<a>链接、<tr>表格行
By.LINK_TEXT 通过超链接完整文本定位 精准匹配链接 超链接文本固定且完整
By.PARTIAL_LINK_TEXT 通过超链接部分文本模糊定位 灵活无需完整文本 链接文本较长/仅部分固定
By.XPATH XML路径语法定位 能定位所有元素,支持复杂筛选 无ID/name、动态元素、层级嵌套
By.CSS_SELECTOR CSS选择器语法定位 比XPath高效,支持多维度筛选 复杂场景

优先级:ID>NAME>CLASS_NAME>CSS_SELECTOR>XPATH>TAG_NAME>PARTIAL_TEXT

元素概念

例如一个网页中的输入框,按钮,图片链接都是这个网页的元素

元素定位概念

通常用id,name,class定位

selenium元素定位

定位一个元素find_element()

找到返回的是一个列表,找不到报错

find_element(定位元素类型,定位元素值)

a1.find_element(By.ID,'kw')

定位多个元素find_elements()

定位多个符合要求的元素,返回的是一个列表

找到返回的是一个列表,找不到返回空列表

浏览器中查找多个元素document.getElementById()

 元素交互操作

元素输入send_keys()

传入需要输入的字符串

a2.send_keys('dafait')

元素点击click()

找到按钮元素‘su’

a2=a1.find_element(By.ID,"su")
a2.click()

元素清空clear()

a2.clear()

完整代码

a2=a1.find_element(By.ID,"kw")
a2.send_keys('dafait')
a2=a1.find_element(By.ID,"su")
a2.click()

time.sleep(2)

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐