Web测试入门:Selenium+Chrome+Python+Mac OS
1、如何寻找页面元素 https://blog.csdn.net/weixin_43595001/article/details/84204651 右键-检查-element-左上角带小箭头的方形-选择“提交反馈”,就可以在代码中找到提交反馈 type=“button” button是name,可以使用find_element_by_name。多个方法,看看怎么用。
学习链接1: https://www.cnblogs.com/juking/p/9853612.html
- Chromedriver 下载及环境配置
1.1:打开chrome的设置,查看chrome版本。如果不是最新,升级到最新。 chrome://settings/help
1.2 下载与本机chrome浏览器对应的驱动程序 从http://chromedriver.storage.googleapis.com/index.html网址中下载与本机chrome浏览器对应的驱动程序,驱动程序名为chromedriver;
? 解压chromedriver,并将其mv 到/usr/local/bin下(目录下必须要有对应版本的driver); 打开Mac终端terminal : 进入 Downloads目录,输入命令: sudo cp -r chromedriver /usr/local/bin/(bin后面的“/”不能少!!!)
1.3 查看chromedriver 版本 chromedriver --version 弹出报错:mac不信任该软件 打开系统偏好设置-安全性与隐私-通用
直到可以查看chromedriver 版本 chromedriver --version (base) eleme@E118435-BJ bin % chromedriver --version ChromeDriver 93.0.4577.15 (660fc11082ba57405eca2e8c49c3e1af756fbfae-refs/branch-heads/4577@{#203})
2、安装selenium:执行 python -m pip install selenium 或者 python --version sudo python get-pip.py pip --version pip install selenium
3、网上测试代码写入 sublime,修改文件名:test.py
coding = utf-8
from selenium import webdriver
from time import sleep, ctime
import os
from selenium.webdriver.chrome.options import Options
options = Options()
options.headless = True
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_id("kw").send_keys("MacOS")
driver.find_element_by_id("su").click()
sleep(5)
driver.quit()
4、进入 test.py 目录下 执行:python3 test.py 自动打开 chrome网页,5秒后关闭页面
学习链接
selenium打开chrome之后如何关闭全部窗口 https://bbs.csdn.net/topics/397542649
笔记:正常执行完代码后页面自动关闭;如果中间报错页面不关闭。 如何在Selenium Webdriver(Python)中找到包含特定文本的元素? https://www.javaroad.cn/questions/22425 need_responses_hui =driver.find_elements_by_xpath("//*[contains(text(), ‘提交反馈’)]")
笔记:可以用来批量找到某元素对应的对象后,循环处理
笔记:以下用于解决元素无法点击的问题- 1、等待一会。 强制等待:效果好,但是耗时。适用于 页面刚刚打开,页面中不一定有寻找的元素:提交反馈 智能等待:效果好,不耗时。适用于页面肯定有这个元素,只是需要出现并点击。 2、使用更上一层的路径,避免同层级的元素干扰 3、重试几次。列表元素太多导致的时候。 Selenium 报错:element click intercepted: Element…is not clickable at point的解决办法 https://blog.csdn.net/weixin_44679832/article/details/104387860 Element is not clickable at point-----问题记录 https://www.cnblogs.com/luoyc/p/10578933.html selenium等待处理 https://blog.csdn.net/wjd1994/article/details/79386597 python selenium 显示等待WebDriverWait与条件判断expected_conditions举例 https://blog.csdn.net/wycaoxin3/article/details/74017971?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.no_search_link&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.no_search_link
如何切换时间
日历这种抓取时间元素是按照数组位置,15号的位置是3行3列。每天执行昨天的case的时候需要更新时间
下拉到页面底部 https://blog.csdn.net/weixin_43632109/article/details/86797701
翻页 有下一页点击元素就可以点击,也是数组
|