selenium安装+基本操作

1.安装

(1)浏览器

(2)pip install  selenium

(3)浏览器下载对应版本驱动

http://t.zoukankan.com/yfacesclub-p-8482681.html

下载驱动后放在Python安装目录下和Python.exe在一层

 

2.基本操作

(1)常用属性

driver.title     标题

driver.current_url  当前url

driver.page_source  原码

driver.current_window_handle  当前窗口

driver.window_handles  所有窗口

 

(2)常用方法

#访问url

driver.get("http://www.baidu.com")
# 刷新页面
driver.refresh()
# 回退
driver.back()
# 前进
driver.forward()  
# 最大化
driver.maximize_window()
# 最小化
driver.minimize_window()
# 设置浏览器尺寸
driver.set_window_size(400, 300)
# 全屏
driver.fullscreen_window()

# 关闭当前窗口
driver.close()


# 关闭页面
driver.quit()

# 设置浏览器尺寸
driver.set_window_size(400, 300)
# 全屏
driver.fullscreen_window()

# 关闭当前窗口
driver.close()

WebElement元素对象

常用属性

element.tagname  获取到对象的标签名

element.parent  获取对象的父级对象

element.text  获取对象的文本

element.get_attribute("xx") 获取对象的属性值

 

 常用方法

element.click() 点击操作

element.send_keys() 输入值

element.submit()  提交相当于enter

element.clear()   清空

 

find_element() 找不到元素会报错 所以要进行异常处理

find_elements() 找不到元素不会报错 返回一个空列表

自动化推荐使用find_element()  唯一定位元素

判断页面存在元素

(1)

if find_elements():

  存在

else

  不存在

(2)

try

  find_element() 

  存在

except

  不存在



3.执行用例

pytest xx.py 执行单文件测试用例
pytest xx.py --html=out.html 执行文件并生成报告


可能会遇到的问题

StaleElementReferenceException: Message: Element not found in the cache.等等  反正就指向找不到

原因

<selenium.webdriver.remote.webelement.WebElement (session="927eb00a039febb86c9ff165da2ae333", element="6f261b0a-e6d1-406a-aeb9-54377eb96fbd")>
<selenium.webdriver.remote.webelement.WebElement (session="927eb00a039febb86c9ff165da2ae333", element="6f261b0a-e6d1-406a-aeb9-54377eb96fbc")>

只要页面刷新就不是原来的页面了 只是长得一样元素id是不一样的  下一页 上一页 刷新 提交 enter 这些都会照成这样的问题就是原来的元素已经不在页面上了

 

pytest会自动关闭浏览器:pytest会监测进程,进程结束会关闭浏览器  最好手动添加driver.quit()

 

百度输入内容之后断言标题是成功的  :没有等待

posted @ 2022-05-11 00:04  血染星辰  阅读(381)  评论(0)    收藏  举报