隐藏前
点击visible text后
对于需要点击按钮显示元素的常用方法
visible=browser.find_element_by_xpath('//*[contains(@value,"visilbe")]')
visible.click() #第一步点击 visible按钮
第一种is_displayed判断元素是否出现
'''第一种is_displayed判断元素是否出现'''
vip=browser.find_element_by_id("vip")
if vip.is_displayed():
print("pass")
else:
print("fail")
第二种:根据元素属性值去判断
'''第二种:根据元素属性值去判断
get_attribute("style")获取元素的属性
'''
"color: rgb(204, 0, 0); visibility: visible;"
style = vip.get_attribute("style")
if "visible" in style:
print("pass")
else:
print("fail")
第三种:根据元素在页面出现的次数去判断结果*
'''第三种:根据元素在页面出现的次数去判断结果
find_elements_by_xpath
'''
vip_ele_count=len(browser.find_elements_by_xpath('//*[contains(@style,"visible")]'))
print(vip_ele_count)
if vip_ele_count==1:
print("pass")
else:
print("fail")
第四种:通过js让vip元素显示
注意:通过js方法需要获取返回值,加一个return
visible = browser.find_element_by_xpath('//*[contains(@value,"visilbe")]') #第一步点击 visible按钮
visible.click()
js = 'return document.getElementById("vip").style.visibility' #需要获取返回值,加一个return
style = browser.execute_script(js)
print(style)
javascript对自动化的一些操作
'''js:javascript:可以获取浏览器提供的很多对象,并进行操作
window:浏览器窗口
location:当前页面的URL对象
document:整个DOM树形结构
打开浏览器-开发者工具-console控制台
'''
'''window:浏览器窗口'''
window.open("https://www.baidu.com") 新打开一个窗口
window.innerHeight
window.innerWidth
window.outerWidth
window.scrollTo(0,10000000000) #滚动条
window.scrollTo(0,window.innerHeight)
'''location:当前页面的URL对象'''
location.reload() 刷新页面
location.href() 获取当前网址
location.assign("https://wwww.baidu.com") #更改当前url
'''document:整个DOM树形结构'''
#获取主题:
document.title
点击元素:
document.getElementById("testid").click()
输入值:
document.getElementsByName("username")[0].value='12345678'
获取文本值:
document.getElementsByClassName("testclassname")[0].textContent
更改属性:
document.getElementById("vip").style.visibility="visible"
获取返回值:
return +js (在robot framework框架中使用js语句的时候,同样的语法格式)
'''窗口滚动条:'''
window.scrollTo(0,100000000)
window.scrollTo(0,document.body.scrollHeight)
window.scrollTo(document.body.scrollHeight,0)
非窗口类型滚动条:先找到这个元素,再用scrollTop去滑动
document.getElementById("styleShow").scrollTop='10000'
滚动条滑动到指定的元素:先找到这个元素,scrollIntoView
document.getElementsByClassName("feednews-header")[0].scrollIntoView(true)
'''js,高亮某个元素,'''
hidden=browser.find_element_by_xpath("/html/body/input[1]")
visible=browser.find_element_by_xpath("/html/body/input[2]")
browser.execute_script('arguments[0].style.border="3px solid red"',hidden) #高亮某个元素
browser.execute_script('arguments[0].style.border="3px solid red";arguments[1].style.border="3px solid yellow"',hidden,visible) #高亮多个元素