摘要:在 web 中,除了上面提到的元素和操作乊外,还有就是页面的提示框的处理了,页面 的警告框通常分为这几类 js alert 、 confirm 以及 prompt,这些警告框,我们都可以 通过 switch_to_alert()来处理。 对警告框的处理有以下几种:text 获叏警告框中的文本 a
阅读全文
摘要:多层框架定位 导入 webdriver driver = webdriver.Firefox() 打开浏览器 driver.get('file:///D:/test/test.html') 打开 test.html driver.switch_to_frame('f2') 先切换到 f2 的 fra
阅读全文
摘要:鼠标键盘操作 在浏览器中,通常会用到鼠标来迚行操作,比如右键菜单中选择一个操作,在 selenium 中提供了下列鼠标相关操作。 ActionChains 类提供了以下方法: context_click()右击 ActionChains(driver).context_click(test).per
阅读全文
摘要:智能等待 隐式等待:implicitly_wait() 则默认每隔 0.5 秒检查一次,直到 10 秒后超时,如果在 10 秒内完成,则继续执行代码。 显式等待:WebDriverWait() WebDriverWait(driver,10).until(expected_conditions.pr
阅读全文
摘要:我觉得我我代码没有优化,先写出线性脚本,功能至少先实现了再说 import unittestfrom time import sleepimport self as selffrom selenium import webdriverfrom selenium.webdriver.common.by
阅读全文
摘要:写个自动化简单线性脚本 Ctrip注册 1.点击同意 2.滑动 报错1: AttributeError: 'list' object has no attribute 'click' 因为find element by 不应该是elements from selenium.webdriver.com
阅读全文
摘要:from datetime import datetime,date,timedeltafrom selenium import webdriverfrom selenium.webdriver.common.action_chains import ActionChainsimport time#
阅读全文
摘要:解决方法: 将”driver.find_elements_by_xpath“改为“driver.find_element_by_xpath”即可解决。 这样就可以定位到预定按钮了
阅读全文
摘要:变参(*,**) 定义时,* 将参数配置成元组,调用时,*将元组或者列表打散成参数进行参数传递 定义是,**将参数装配成字典,调用时,**将字典打散成参数进行参数传递 场景:注册功能,用户名,密码,邮箱属于必填项,微信号,备注属于选填 运行结果:元组打散传值到*args,输出结果:参数变成元组形式
阅读全文
摘要:切换分为1)windows切换 2)iframe切换 drivere.switch_to.window/frame 1.什么情况下需要窗口切换? 1)页面的操作,打开了一个新的窗口,你需要在新的窗口当中,去进行下一步操作 2) 页面当中又iframe,并且要进入iframe去进行下一个操作 2.怎么
阅读全文
摘要:1.sleep强制 2.智能等待:最多愿意等待15秒,但是15秒内,任何一个元素出现了,就继续进行下一行代码,超时了,报超时异常 TimeoutException,NosuchElementException 隐形等待:2种场景 1个元素被找到-元素存在/1条命令执行完成-api的执行 每一个会话当
阅读全文
摘要:相对定位 1,//标签名[@属性=值] 层级定位-最常用 //一级元素//二级元素 //i[@class="ing] //*[@*="ing"] //div[@id="number-attend"]//i[@class="ing"] 2.文本匹配 //标签名[text()=值] //a[text()
阅读全文