前言:
当前小伙伴们对“python中selenium定位”可能比较着重,兄弟们都需要了解一些“python中selenium定位”的相关内容。那么小编在网上汇集了一些关于“python中selenium定位””的相关资讯,希望你们能喜欢,看官们快快来学习一下吧!本篇和上一篇文章Python+selenium自动化之写邮件与富文本定位基本内容一样,仅仅把富文本定位和操作使用JS实现,对JS用法不了解不熟悉的可以百度学习下,或者等着我出一期专门的js用法的文章。
从下图可以看出,正文编辑框属于div式的editor框iframe的id不是固定的,这里使用js用法document.getElementsByClassName()[],注意这里elements要有s,获取的是一个list,要对首位进行操作需要加[0]。contentWindow返回指定的iframe的窗口对象,然后调用document方法获取元素body,innnerHTML意味着标签对之间的内容,把字符串传给body。
源码:
# -*- coding: UTF-8 -*-
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
def login(driver, user, pwd):
# 打开腾讯企业邮箱
driver.get(";)
# 点击 账号密码登陆
driver.find_element_by_class_name("js_show_pwd_panel").click()
# 输入 账户
driver.find_element_by_id("inputuin").send_keys(user)
# 输入 密码
driver.find_element_by_id("pp").send_keys(pwd)
# 点击 登录
driver.find_element_by_id('btlogin').click()
#点击 写信
driver.find_element_by_id("composebtn").click()
#进入 iframe
driver.switch_to.frame("mainFrame")
#定位 收件人
time.sleep(3)
driver.find_element_by_css_selector("#toAreaCtrl .addr_text [type='input']"
).send_keys("123456@qq.com")
#定位 主题
driver.find_element_by_id("subject").click()
driver.find_element_by_id("subject").send_keys("这是一个测试主题")
#这里去掉了 tab键操作
#driver.find_element_by_id("subject").send_keys(Keys.TAB)
time.sleep(3)
#JS定位 body 输入字符串“测试微服务!” 这里使用js无需切换iframe
js = 'document.getElementsByClassName("QMEditorIfrmEditArea")[0]' \
'.contentWindow.document.body.innerHTML="%s"' % "测试微服务!"
driver.execute_script(js)
'''
#定位 正文 进入 iframe
zw_fram= driver.find_element_by_class_name("QMEditorIfrmEditArea")
driver.switch_to.frame(zw_fram)
#定位 正文
driver.find_element_by_tag_name("body").send_keys("测试微服务!")
'''
#退出 iframe
driver.switch_to.default_content()
def logout(driver):
# 登录成功 等待页面加载
time.sleep(4)
# 退出登录
driver.find_element_by_partial_link_text("退出").click()
# 用于关闭浏览器,一般测试结束时需要使用
driver.quit()
if __name__ == "__main__":
driver = webdriver.Firefox()
driver.implicitly_wait(20)
user = input("请输入您的邮箱账户:")
pwd = input("请输入您的邮箱密码:")
# 调用login函数
login(driver, user, pwd)
# 调用 logout函数
#logout(driver)
标签: #python中selenium定位 #html文字定位 #js定位页面 #js定位页面输入内容