WebDriverWait(driver,20).until(EC.visibility_of_element_located((By.XPATH,‘//a[@id=“js_login”]’)))
driver.find_element_by_id(“js_login”).click()
WebDriverWait(driver,20).until(EC.visibility_of_element_located((By.XPATH,‘//a[contains(@class,“btns-enter-qq”)]’)))
driver.find_element_by_xpath(‘//a[contains(@class,“btns-enter-qq”)]’).click()
driver.switch_to.frame(driver.find_element_by_xpath(‘//iframe[@name=“login_frame_qq”]’)) #通过webelement
#WebDriverWait(driver,20).until(EC.visibility_of_element_located((By.XPATH,‘//a[@id=“switcher_plogin”]’)))
time.sleep(10)
driver.find_element_by_xpath(‘//a[@id=“switcher_plogin”]’).click()
2.3.3 运行结果:
运行代码后,控制台打印如下图的结果
2.3.4 浏览器运行结果:
浏览器的运行过程,宏哥这里就不做屏幕录制了,这个我们看一下结果。浏览器运行结果如下:
3. 处理Alert弹窗
本文来介绍如何通过Selenium方法去处理网页Alert弹窗,和处理iframe类似,都是通过switch_to方法。这里还是没有找到合适的alert弹窗网站,我们就自己创建一个吧,前面文章介绍了如何通过执行JS来增加一个弹窗。
(1)使用switch_to方法先切换到浏览器弹出框
driver.switch_to.alert
(2)Alert类提供了一系列的操作方法
dismiss(): 否
accept(): 是
text(): 获取弹出框里的文本内容
send_keys(): 在弹出框里输入文本
相关脚本代码如下:
3.1 代码实现:
3.2 参考代码:
# coding=utf-8🔥
‘’’
Created on 2019-12-09
@author: 北京-宏哥 QQ交流群:705269076
Project: python+ selenium自动化测试练习篇8
‘’’
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(6)
driver.get(“https://www.baidu.com”)
time.sleep(1)
driver.execute_script(“window.alert(‘这是一个测试Alert弹窗’);”)
time.sleep(2)
driver.switch_to_alert().accept() # 点击弹出里面的确定按钮
#driver.switch_to_alert().dismiss() # 点击弹出上面的X按
3.3 运行结果:
运行代码后,控制台打印如下图的结果
注意:
driver.switch_to_alert().accept()
这是一个老方法,在有些编辑器(后面会介绍一款Python的IDE工具)会提示这个方法划横线,说明在最新Selenium在Pyhton支持包里,这个方法被丢弃,虽然还是可以用,现在新的方法是switch_to.alert(),用这个最新方法,我测试了下,无法模拟点击确定和点击关
闭弹窗按钮,所以这个地方选择了旧的方法switch_to_alert()
4. 获取当前页面全部图片信息
本文来介绍下如何获取当前页面全部的图片信息,图片信息可能包括,图片名称,图片大小等。
相关脚本代码如下:
4.1 代码实现:
4.2 参考代码:
# coding=utf-8🔥
‘’’
Created on 2019-12-09
@author: 北京-宏哥 QQ交流群:705269076
Project: python+ selenium自动化测试练习篇8
‘’’
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(6)
driver.get(“http://news.baidu.com”)
time.sleep(1)
for image in driver.find_elements_by_tag_name(“img”):
print (image.text)
print (image.size)
print (image.tag_name)
4.3 运行结果:
运行代码后,控制台打印如下图的结果
运行结果:
运行结果,发现没有图片名称打印出来,说明百度新闻页面,所有图片都没有给出text这个属性,前端的妹子没有写图片的text属性。不相信的同学或者小伙伴们可以通过F12查看一下图片是否有text这个属性。
5. 获取页面元素的href属性
本文来介绍如何通过Selenium获取页面元素的某一个属性。一个元素可能有多个属性,例如 class, id, name, text, href, vale等等。这里我们举例一个爬虫中经常需要处理的链接问题:找出当前页面所有的超链接。
已百度首页为例,打印所有包含href的元素的链接。
相关脚本代码如下:
5.1 代码实现:
5.2 参考代码:
# coding=utf-8🔥
‘’’
Created on 2019-12-09
@author: 北京-宏哥 QQ交流群:705269076
Project: python+ selenium自动化测试练习篇8
‘’’
import time
from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(6)
driver.get(“https://www.baidu.com”)
time.sleep(1)
for link in driver.find_elements_by_xpath(“//*[@href]”):
print (link.get_attribute(‘href’))
driver.quit()
5.3 运行结果:
运行代码后,控制台打印如下图的结果
这里只是找元素的href属性,如果你需要其它属性,例如你需要查看页面所有元素具有id值的话,你可以这样写: print (link.get_attribute(‘id’))
最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python爬虫全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
0Nzc5NTc5MA==,size_16,color_FFFFFF,t_70)
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python爬虫全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频