Python

释放双眼,带上耳机,听听看~!

打开浏览器

# 引入selenium库
from selenium import webdriver
# 打开浏览器
driver = webdriver.Chrome()
# 最大化浏览器
driver.maximize_window()
# 访问网址
driver.get('http://www.baidu.com')

id定位

# 输入内容 send_keys('输入内容'),点击click()
driver.find_element_by_id('kw').send_keys('七安')
driver.find_element_by_id('su').click()

name定位

driver.find_element_by_name('wd').send_keys('七安')

class定位

# 获取class文本,在页面class会有重复
class1 = driver.find_element_by_class_name('title-content-title')
# 打印class文本
print(class1.text)
# 打印全部class文本
# elements多了一个s,复数 可以找到很多个值
elements = driver.find_elements_by_class_name('title-content-title')
for i in elements:
    print(i.text)
# 打印第二个class 0开始
elements1 = driver.find_elements_by_class_name('title-content-title')[1]
print(elements1.text)
# 点击第二个class
elements1.click()

tagName定位

# tagname 标签元素定位   标签是重复的  
spen1 = driver.find_element_by_tag_name('span')
print(spen1.text)
spen2 = driver.find_elements_by_tag_name('span')
# 循环打印
for i in spen2:
    print(i.text)

link和partial_ink定位

# link和partial_link定位 超链接标签定位 
link1 = driver.find_element_by_link_text('七安导航')
link1.click()
# 超链接定位 区别文本值 link要全名  partial_link不需要写全
link2 = driver.find_element_by_partial_link_text('新')
link2.click()

xpath

# xpath 定位 没有id,name,class,tagname,不好定位使用xpath,xpath工作应用比较多
# 绝对路径写法
input1 = driver.find_element_by_xpath('/html/body/div[1]/div[1]/div[5]/div/div/form/span[1]/input')
input1.send_keys('七安')
input2 = driver.find_element_by_xpath('/html/body/div[1]/div[1]/div[5]/div[2]/div/form/span[2]/input').click()

# 表达式写法 按照属性进行定位 格式[@属性=“属性值”],/根节点,//所有的节点,*所有元素
input2 = driver.find_element_by_xpath('//*[@id="kw"]')
input2.send_keys('七安')
driver.find_element_by_xpath('//*[@id="su"]').click()

CSS定位

# 1.css可以通过元素的id class 标签这三个常规元素定位
# css表达式定位 id定位 #id
element = driver.find_element_by_css_selector('#kw')
element.send_keys('七安')

class class_name重复 ,class属性.
element1 = driver.find_elements_by_css_selector('.title-content-title')
for i in element1:
    print(i.text)

# 标签input div span重复
spen1 = driver.find_elements_by_css_selector('span')
for i in spen1:
    print(i.text)

# 层级关系 
# 通过找后代元素 元素 后代元素
elemt = driver.find_element_by_css_selector('#head_wrapper #kw')
elemt.send_keys('七安')
elemtnt = driver.find_element_by_css_selector('#head_wrapper .s_btn')
elemtnt.click()

# 外面用单引号,里面用双引号 不要同时出现单引号
elemnt = driver.find_element_by_css_selector('input[id="kw"]').send_keys('七安')

iframe定位

from selenium import webdriver
# 打开浏览器
driver = webdriver.Chrome()
# 最大化浏览器
driver.maximize_window()
# 访问网址
driver.get('http://www.126.com')
# 找不到元素 定位iframe里面的元素
# 1.找到iframe 切换到iframe内部中 //*所有节点的元素  找到iframe 定位到iframe
iframe1 = driver.find_element_by_xpath('//*[@id="loginDiv"]/iframe')
# 切换到iframe内部中 switch_to 跳转iframe内部
driver.switch_to.frame(iframe1)
# 定位内容
driver.find_element_by_name('email').send_keys('123')
driver.find_element_by_name('password').send_keys('123')
# 进入iframe内部了 进入外部 iframe切回主页面
driver.switch_to.default_content()
# 点击二维码
driver.find_element_by_id('lbApp').click()

窗口切换

driver.find_element_by_link_text('新闻').click()
# 1.切换到新窗口中去,获取所有窗口的句柄都获取到
all_handles = driver.window_handles
# 窗口显示出来
for handle in all_handles:
    # 切换到新的窗口
    driver.switch_to.window(handle)
    # 判断我想要进入的窗口,窗口名称
# 如果窗口的标题字符串是我要操作的窗口标题一样就跳出循环
    if '百度新闻' in driver.title:
        break
# 新窗口元素
driver.find_element_by_id('ww').send_keys('七安')
driver.find_element_by_id('s_btn_wr').click()

文章链接:https://www.67an.com/88
文章标题:Python
文章版权:七安 (67an.com) 所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!
重要说明

本站资源大多来自网络,如有侵犯你的权益请联系管理员七安 或给邮箱发送邮件hello😀67an.com 我们会第一时间进行审核删除。站内资源为网友个人学习或测试研究使用,未经原版权作者许可,禁止用于任何商业途径!请在下载24小时内删除!


如果遇到评论下载的文章,评论后刷新页面点击对应的蓝字按钮即可跳转到下载页面本站资源少部分采用7z压缩,为防止有人压缩软件不支持7z格式,7z解压,建议下载7-zip(点击下载),zip、rar解压,建议下载WinRAR(点击下载)

给TA打赏
共{{data.count}}人
人已打赏
系统集成

信息系统集成专业技术知识

2019-4-5 11:28:39

分享

爱而不得的真正含义

2021-12-5 14:20:17

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索