webdriver菜鸟tips

来源:互联网 发布:riptide知乎 编辑:程序博客网 时间:2024/05/20 02:30

前言

菜鸟一枚,刚刚接触webdriver,实践的过程中遇到了很多的问题,粗略整理并记录以备忘,同时也希望可以帮助遇到同样问题的童鞋们。内容大都来源于网络或书籍,错漏之处,欢迎批评指正。


1、python获取当前页面F12之后的network tab页信息?

from selenium import webdriver

#获取浏览器driver
driver = webdriver.Chrome()

#打开网页
driver.get("http://www.baidu.com");

#获取network数据
scriptToExecute = "var performance = window.performance || window.mozPerformance || window.msPerformance || window.webkitPerformance || {}; var network = performance.getEntriesByType('resource') || {}; return network;";
netData = driver.execute_script(scriptToExecute)

#打印数据到控制台并输出到文件
print(netData)
file_object = open('lalalalala.txt', 'w')
file_object.write(str(netData))
file_object.close( )

参考自:这里

待验证

file_object = open('server.txt', 'w')  

For entry in driver.get_log('performance'):  
    print entry 
    file_object.write(str(entry))
file_object.close( )

2、等待某个元素出现之后再进行下一步操作?

问题:想要找到并点击ID为dropdown1的元素,思路:等待该元素出现再使用find方法去寻找(否则会报错),然后点击
#等待元素加载完毕(最多等待10秒,每500毫秒检测一次)
WebDriverWait(broswer, 10).until(lambda the_driver: the_driver.find_element_by_id('dropdown1').is_displayed())
#已经加载完毕,可以执行操作了
broswer.find_element_by_id('dropdown1').click()

PS:亲测,并不好用!还是 time.sleep(X)简单实用!


3、滚动当前页面到底部

js="window.scrollTo(0,document.body.scrollHeight)"
driver.execute_script(js)
time.sleep(3)


原创粉丝点击