iframe

就是一个页面里嵌套了另外一个页面
iframe标签也叫浮动框架标签,iframe标签也是一个比较特殊的框架,可以放在浏览器中的小窗口,可以出现在页面的任何一个位置上,但是整个页面并一定在框架页面上,iframe框架完全是由开发者去定义高度和宽度,在网页中嵌套另外一个网页。

<iframe src="源文件" width="浮动宽" height="浮动高">
……
</iframe>


这种情况如何去定位?
在外面能看到但是定位不到,要先切入到iframe里,然后再iframe里面去定位
只是查找范围上的变化
切入iframe后正常定位即可

# 在iframe里定位元素
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome()
driver.get("http://shop.pro.17lebo.com/")
sleep(1)# 点击个人中心 (未登录提示先登录,这个是弹出的登录框而不是在当前页面点击登录)
driver.find_element("xpath", "//span[text()='个人中心']").click()
# 切换到iframe
# 先找到iframe的链接  "http://shop.pro.17lebo.com/?s=user/modallogininfo.html",然后再切换
driver.switch_to.frame(driver.find_element("xpath", "//iframe[contains(@src,'modallogininfo')]"))
# 切换到iframe再定位 就能找到了
sleep(1)
# 定位到并输入用户名和密码
driver.find_element("name", "accounts").send_keys("lebo19_001")
driver.find_element("name", "pwd").send_keys("lebo19.001")
# 定位到并点击登录
driver.find_element("xpath", "//button[text()='登录']").click()
sleep(5)# 退出浏览器卸载最后
driver.quit()

既然能切到iframe,那就要能切回去

driver.switch_to.parent_frame()

下拉框

一般与地址相关的都是下拉框
省份地市的下拉框是原来就在那的,只是不可见,而不是点击之后弹出来的。
那下拉框要怎么定位?

from selenium.webdriver.support.select import Select# 进入我的地址
driver.get("http://shop.pro.17lebo.com/?s=useraddress/index.html")
# 点击新增地址
driver.find_element("xpath", "//button[@data-popup-title='新增地址']").click()
sleep(5)
# 新增地址的页面也是一个iframe,所以要切换到iframe
driver.switch_to.frame(driver.find_element("xpath", "//iframe[contains(@src,'s=useraddress/saveinfo.html')]"))
# 省份地市的下拉框是原来就在那的,只是不可见,而不是点击之后弹出来的。所以要设置显示属性为可见状态
# 修改显示属性
js = "document.querySelectorAll('select')[0].style.display='block';"
driver.execute_script(js)
province = driver.find_element("name", "province")
# 选择下拉框中的省份
Select(province).select_by_index(4)
sleep(2)
js = "document.querySelectorAll('select')[1].style.display='block';"
driver.execute_script(js)
city = driver.find_element("name", "city")
# Select(city).select_by_index(1)
Select(city).select_by_visible_text("太原市")
sleep(2)
js = "document.querySelectorAll('select')[2].style.display='block';"
driver.execute_script(js)
county = driver.find_element("name", "county")
# Select(county).select_by_index(4)
Select(county).select_by_visible_text("小店区")
sleep(2)

cookie

# 获取所有cookie
print(f"获取cookie的值:{driver.get_cookies()}")
# 获取个别cookie
print(f"获取cookie的值:{driver.get_cookie('domain')}")# 添加cookie
driver.add_cookie({"name": "乐博学院", "value": "五年"})
# print(f"添加之后获取cookie的值:{driver.get_cookies()}")# 删除所有cookie
driver.delete_all_cookies()
# 按名字删cookie
driver.delete_cookie("name")

iframe定位、下拉框定位、获取cookie相关推荐

  1. js下拉 selenium_selenium 难定位元素,时间插件,下拉框定位,string

    1.元素定位 ID定位元素: findElement(By.id("")); 通过元素的名称定位元素: findElement(By.name("")); 通过 ...

  2. 下拉框怎么获取label_拼多多-「关键词自然流量快速获取」访客暴涨秘诀

    大家好,欢迎来到多多说电商. 这节内容我们就说说自然流量中关键词流量如何能够有效获取. 话不多说,我们直接进入主题: 我们首先明白客户的消费逻辑,不难理解,分为以下几类: 1:准确性关键词查找消费 2 ...

  3. 下拉框如何获取到value跟code

    遍历后端传来的 units 数组,[{value: ''区域一',code: '1'},{value: '区域二',code: '2'}] <el-form-item label="活 ...

  4. select下拉框动态获取数据

    需求:select下拉框中的数据是从后台接口中获取的,而不是自己写的假数据 步骤:(这里是用jquery及ajax发送请求) 一.页面上导入jquery在线资源 二.代码实列如下(仅供参考) < ...

  5. layui下拉框怎么获取自定义值_layui如何得到select下拉框选中的值?

    layui如何得到select下拉框选中的值?下面本篇文章介绍一下layui取得select下拉框选中值的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. layui如何得到se ...

  6. Select下拉框json获取国家区号

    应客户需求,填写电话区号时,要求下拉选择国家来获取该国家的电话区号. 代码如下: 国家区码: country.json [{"cnname": "中国大陆",& ...

  7. antd-select下拉框同时获取所选值id和名字属性

    1.预期实现 需要得到id和name的值 然后传入接口 2.给当前的选择框绑定回调事件 一般我们需要获取一个值得时候是这样写 changeGoodsName = (value) => {this ...

  8. layui下拉框怎么获取自定义值_layui select获取自定义属性方法

    在layui里面给了特定几个自定义属性title 请选择属性 雪碧 芬达 冰糖雪梨 金贝 监听select form.on('select(sadaS)', function(data){ conso ...

  9. android下拉框 Spinner 获取选中,设置选中

    设置默认选中: public static int ugid = 1; public void setSpinnerItemSelectedByValue(Spinner spinner,String ...

最新文章

  1. IntelliJ IDEA 2018.1正式发布!什么?还能这么玩?
  2. 关于[入行几年后,你的未来应该在哪里]的思考
  3. boost::type_erasure::less_than_comparable相关的测试程序
  4. javaweb学习总结(十八):JSP属性范围
  5. 前端学习(361):svn操作后续
  6. Google | 突破瓶颈,打造更强大的Transformer
  7. python 图例颜色_python – 来自颜色字典的matplotlib.pyplot scatterplot图例
  8. 考研重庆邮电大学计算机跨专业,重庆邮电大学计算机考研难度
  9. 从苹果换回安卓是什么体验?
  10. 综合评价与决策方法02——模糊综合评判法
  11. 2018年阿里巴巴前端开源项目汇总
  12. 网络性能测试(系统层面、针对Linux、安卓)
  13. 什么是计算机网络AP,AP与AC的区别是什么,拓扑网络知识。
  14. 【python多版本共存】
  15. 详解APP应用分发平台的榜单推荐和搜索排名规则
  16. 杭电1069 Monkey and Banana
  17. 漏洞复现Influxdb,H2database,couchDB,ElasticSearch
  18. java利用pol导出excel
  19. 淘宝搜索技术代码你知多少
  20. 解决NativeCat能连接的上,但是IDEA连接不上

热门文章

  1. RESTful接口架构是什么
  2. 用EXCLE制作抽奖客户名单操作步骤
  3. QDateEdit日历修改之QCalendarWidget 样式设置
  4. .NET MAUI 安卓 UI 资源设置
  5. 智能多媒体内容设计在阿里巴巴的应用
  6. 深入浅出ModbusTcp
  7. 易语言 post请求 解析json 初学者记录 多多进宝
  8. 基于 Kintex UltraScale 系列 FPGA 的高性能 PXIE 数据预处理载板(KU060 +FMC子卡接口)
  9. 分享63个JS幻灯片代码,总有一款适合您
  10. linux电脑外放没声音,你好,就是想问一下我的笔记本电脑为什么插上耳机没有声音,外放有声音,声卡驱动我也重新装了,还是不行!...