美文网首页
(2019-04-13)selenium+webdriver爬取

(2019-04-13)selenium+webdriver爬取

作者: spiderzzZ | 来源:发表于2019-04-13 17:06 被阅读0次

自从发现了这个网页的漏洞,为了鲁一把羊毛,历时三天啊,今下午又与webdriver与动态网页斗争了一下午。。。。。

1.调用chrome,默认调用纯净chrome,一点杂质没有,为了提高自动化测试速度,这也就造成了登录之后的网页记不得我们。所以自动化测试反而很难进行。

解决方法,在初始调用时,使浏览器默认加载本地得到数据:

在浏览器输入:chrome://version,得到如下:

找到个人资料路径,注意最后的default不要添加。。。。(不知道为什么上一次添加了没法使用,这次去掉了就可以使用了。),然后是浏览器启动项设置,如下:

option = webdriver.ChromeOptions()

option.add_argument('--user-data-dir=C:\\Users\\11923\\AppData\\Local\\Google\\Chrome\\User Data')

#设置成用户自己的数据目录

driver = webdriver.Chrome(chrome_options=option)

之后调用就欧克了

----------------------------------------------

2.sele+webdriver  获取动态网页

driver.get(url)

time.sleep(10)

source = driver.page_source

之前的所有工作都没有中间那句time.sleep。因此没有一次成功,得到的全是原始网页,偶然间看到这句话,想了一下,是因为selenium刚开始加载的也是原始网页,但是它本身可以进行解析,而解析的过程需要时间。

如上,爬了一点坑。

------------------------------------------

04-14  更新webdriver实现打开一个窗口之后,不再进行不断的打开关闭窗口这个过程,而是打开新的标签

原理不太清楚,好像是用js

url = "http://www.sougou.com"

driver.execute_script("window.open(url)

运行之后,发现根本打不开新的标签页,但是使用这种格式就行了:

driver.execute_script("window.open(’http://www.sougou.com‘)“)

自然,优先想到的应该是格式问题,搜索了错误原因(在此不得不说,你搜什么都没用,把报错的原因复制粘贴一下,就啥都知道了。)发现改成下面的格式就行了。

url = "http://www.sougou.com"

driver.execute_script("window.open('{}');".format(url))

注意,,动态网页使用selenium没加载出来也是没办法找到元素的。

相关文章

网友评论

      本文标题:(2019-04-13)selenium+webdriver爬取

      本文链接:https://www.haomeiwen.com/subject/vzlrwqtx.html