前言
菜鸟一枚,刚刚接触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)