webdriver高级应用

driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')

####webdriver  高级应用

##1.借助js操作页面元素
myjs1 = "document.getElementById('kw').value='storm'"
myjs2 = "document.getElementById('su').click()"
driver.execute_script(myjs1)
driver.execute_script(myjs2)

##2.若输入的文本设置readonly为true,可以将其readonly设置为false,然后输入文本内容
js1 = "$('input[id=issue_start_date]').attr('readonly',true)"
driver.execute_script(js1)
js2 = "$('input[id=issue_start_date]').attr('readonly',false)"
driver.execute_script(js2)
driver.find_element_by_id('issue_start_date').send_keys('002016-07-08')

##3.若输入的文本设置readonly为true,可以将其readonly属性移除
js2 = "$('input[id=issue_start_date]').removeAttr('readonly')"  # 3.jQuery,移除属性
driver.execute_script(js2)


##4.1用js来模拟按钮点击动作
js1 = "arguments[0].click()"
ele = driver.find_element_by_id('bt1')
driver.execute_script(js1,ele)
2.通过js的方式修改span中间的值
js1 = "document.getElementById('span_id').innerText='aaa'"
driver.execute_script(js1)

##5.操作滚动条
获取当前窗口的宽:document.body.scrollWidth
获取当前窗口的高:document.body.scrollHeight
1、滑动到最下方:js1=“window.scrollTo(0,document.body.scrollHeight)”
2、滑动到最上方:js2="window.scrollTo(0,0)"
3.操作横向滚动条:js3="window.scrollTo(document.body.scrollWidth,0)"
4.操作内嵌滚动条:先切到iframe中,然后滚动即可:js4="window.scrollTo(0,200)"
driver.execute_script(js1)
5、将滚动条滑动到指定元素上
js = "arguments[0].scrollIntoView()"
ele = driver.find_element_by_xpath('//*[@id="3"]/h3/a')
driver.execute_script(js, ele)

##6.通过模拟键盘上的向下箭头来选择ajax中的元素
ele.send_keys(Keys.ARROW_DOWN)

##7.1获取所有当前浏览器地址所有cookies
cur_ck = driver.get_cookies()
7.2.取对应名字的cookie,
mycookie = driver.get_cookie("BAIDUID")
7.3.删除所有cookies
driver.delete_all_cookies()
7.4.添加一条cookie;
driver.add_cookie({"name":"storm", "value":"123456"})
7.5.文件用来保存cookie
mycookies = driver.get_cookies()
jsoncookies = json.dumps(mycookies)
with open("mycookie.json", 'w') as f:
    f.write(jsoncookies)
7.6.文件用来保存cookie   
f = open("mycookie.json")
cur_ck = f.read()
cur_ck = json.loads(cur_ck)
for i in cur_ck:
    driver.add_cookie(i)   
    
##8.禁止图片加载
options = webdriver.ChromeOptions()
prefs = {'profile.default_content_setting_values' : {'images' : 2}}
options.add_experimental_option('prefs',prefs)
driver = webdriver.Chrome(chrome_options=options)
driver.get('https://www.baidu.com/')    

##9.设置浏览器以最大化的方式启动
options = webdriver.ChromeOptions()
options.add_argument("--start-maximized")
driver = webdriver.Chrome(chrome_options=options)


##10.封装高亮显示页面元素的方法;使用js代码,将页面元素对象的背景颜色设置为绿色,边框设置为红色;
def hightLightEle(driver, element):
    driver.execute_script("arguments[0].setAttribute('style', arguments[1]);", element,"background: green; border: 2px solid red;")

driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
ele = driver.find_element_by_id('kw')
hightLightEle(driver, ele)

##11.测试过程中截图:get_screenshot_as_file
driver.get_screenshot_as_file("d:\\baidu.png")

##12.
(1)get_property 就是取元素属性的,该元素有id,有name,就可以通过该方法取;
(2)get_attribute("value"),就是取文本框中输入的内容。
(3).text 属性,就是元素本身的文字显示。
ele1 = driver.find_element_by_id('kw')
ele1.send_keys('storm')
print(ele1.get_property('name'))
print(ele1.get_attribute('value'))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值