python3+selenium自动化测试-JS处理内嵌div滚动15

(15)JS处理富文本上iframe的问题以及
1、过js的方法处理富文本上iframe的问题

富文本的编辑,因为这里编辑框有个iframe,所以需要先切换。
用开发者工具查看是否有iframe,普通用法需要定位iframe,切换到iframe,然后输入内容;;
js用法就是直接输入,不需要切换iframe。

代码参考:

body = "这里是通过js发的正文内容"

# js处理iframe问题(js代码太长了,我分成两行了)
js = 'document.getElementById("Editor_Edit_EditorBody_ifr")' \
     '.contentWindow.document.body.innerHTML="%s"' % body
driver.execute_script(js)
# 保存草稿
driver.find_element_by_id("Editor_Edit_lkbDraft").click()

2、内嵌滚动条
1-内嵌div带有滚动条,div的属性:


2-通过id来定位,通过控制 scrollTop的值来控制滚动条高度
3-通过控制scrollLeft的值来控制滚动条宽度
4-js用class属性定位,返回的是一个list对象,这里取第一个就可以了。
代码参考:

from selenium import webdriver
import time
driver = webdriver.Chrome()
driver.get(r"file:\C:\Users\cr\divtest.html")
# time.sleep(5)
# 纵向底部
# js1 = 'document.getElementById("crtest").scrollTop=10000'
# driver.execute_script(js1)
# time.sleep(5)
# 纵向顶部
# js2 = 'document.getElementById("crtest").scrollTop=0'
# driver.execute_script(js2)

time.sleep(3)
# 横向右侧
js3 = 'document.getElementById("crtest").scrollLeft=10000'
driver.execute_script(js3)
time.sleep(3)
# 横向左侧
js4 = 'document.getElementById("crtest").scrollLeft=0'
driver.execute_script(js4)

以下存个html文件到本地:







学习js处理内嵌div滚动条!!!


这是一个内嵌的div滚动条


大众汽车对于某些事实毫不掩饰,例如他们购买加倍的保费导致了电动汽车的订单激增。仅ID.3的订购量就超过了37,000辆,而不是最初计划的30,000辆。E-Up产品暂时售罄,无法再在德国订购E-Golf。尽管如此,德累斯顿Strom-Golf的生产将持续到2020年圣诞节。
然而,这仅与电动汽车的热潮有关。大众发言人在接受外媒的询问时解释说:“我们仍在处理一小部分电动版高尔夫车型的订单,”他补充说,一开始听起来很疯狂,大部分生产(每周最多80辆)针对于美国,因为鉴于美国的电动汽车市场竞争异常激烈。但是,从战略上讲,这是完全合理的,“美国市场没有ID.3车型”。而为了对在美国提供的电动版车型,E-高尔夫应该弥合的等待时间,直到开始ID.4的生产。
它将于2021年初在茨维考(Zwickau)建造,然后从2021年2月开始在美国销售,并将与特斯拉Model Y一起参与细分市场的竞争。最迟从2022年开始,ID.4在美国查塔努加的大众汽车工厂生产。
由于同时需要在中国供应的产量也在增加,所以这家总部位于沃尔夫斯堡的公司将在其系列中拥有ID.4的电动车型-但是它将有四种配置可供选择:作为欧盟版本,作为美国版本和作为中国版本。但在中国市场包括两种版本车型,因为在中国的两家合资企业(上汽大众和一汽大众)将有两个不同的中国ID.4车型的后缀为“ Cross”和“ X”,主要区别在于前后包围的设计会有所不同。crdalglaljgjlajlgeajeiouneggqoguqebggajlajgoeougeglhgalihguaolngkhgahlghgcrdalglaljgjlajlgeajeiouneggqoguqebggajlajgoeougeglhgalihguaolngkhgahlghg


参考链接
https://www.cnblogs.com/yoyoketang/p/6160682.html

你可能感兴趣的:(python3+selenium自动化测试-JS处理内嵌div滚动15)