Selenium+Python 隐藏标签操作
1、用判断下列语句是否被隐藏
driver.find_element_by_xx().is_displayed()
# 如果返回false,表示被隐藏
2、通过get_attribue()表达式获取属性值
driver.find_element_by_xx().get_attribute('attibuteName')
# 'attibuteName'代表属性值:innerText innerHTML、textContent
***************************************************************************************************************
getElementById getElementsByTagNam和getElementsByClassName 是JavaScript中常用的获取元素的方法。
getElementById 是通过id来获取元素,id在HTML中是唯一的,所以获取到的只有一个元素。
getElementsByTagNam 是通过标签名来获取元素,获取到的是多个元素,是以集合的形式返回
getElementsByClassName 是通过标签名来获取元素,获取到的是多个元素,是以集合的形式返回
示例1(getElementsByClassName):
js="document.getElementsByClassName('XXXX')[1].style.display='block'"
driver.execute_script(js)
driver.find_element_by_xpath("//div[2][@class='XXXX']").click()
示例2(getElementById):
js="document.getElementById('ipNodePop').style.display='block'"
browser.execute_script(js)
browser.find_element_by_xpath("//*[@id='Idname']/ul/li[10]").click()
HTML5引进的方法
示例3(querySelectorAll -- CSS过滤器)
js = 'document.querySelectorAll("#Idname > i")[0].style.display="block";'
driver.execute_script(js)
browser.find_element_by_xpath("//*[@id='Idname ']/ul/li[10]").click()
----------------------------------------