求教有没有网页分析的软件?能够把所有的 element 抽取出来,方便 selenium 来 find?

2017-11-19 12:11:33 +08:00
 jahan
分析 www.tradingview.com 一直找不到 sign in 的的 element,想请教下大家怎么分析网页?有没有好用的软件?
2537 次点击
所在节点    Python
18 条回复
summerwar
2017-11-19 12:14:57 +08:00
beautifulsoup
jahan
2017-11-19 12:21:23 +08:00
@summerwar 想用 selenium 登陆这个网站,不想用 bs,有没有办法找到 sign 的 username 和 password 的输入项目
xmcp
2017-11-19 13:00:55 +08:00


你是说这样?
jahan
2017-11-19 13:53:07 +08:00
@xmcp 这个找到了,不知道是怎么赚到登陆界面的,点击了,也没有发现如何才能找到 username 和 password 在哪里?

新手,实在抱歉。
jahan
2017-11-19 13:58:25 +08:00
@jahan
@xmcp
点击了居然浏览器地址没有任何变化,而且看这个网站的登陆界面都是如何做到用户名和密码参数传递的呢?
jahan
2017-11-19 13:59:21 +08:00
有没有可视化的工具,比如我鼠标点到了那个地方,对应地方的代码就能高亮,这样比较好找?
iiduce
2017-11-19 14:01:02 +08:00
firebug。

这个页面 sign in 没有直接写在 html 中,所以你找不到它。

它是通过 js 调用的,点击 sign in,并没有新的网络请求,所以 sign in 的 html 应该封装在了 js 文件中。
jahan
2017-11-19 14:01:12 +08:00
elem = driver.find_element_by_class_name('tv-header__device-signin js-header__signin')
#elem_1 = driver.find_element_by_link_text('#signin')
print("elem as follows:", elem)
#print(elem_1)

elem_2 = driver.find_element(By.CLASS_NAME, 'tv-unauth-header')
print("elem_2 as follows:", elem_2)

elem_3 = driver.find_element(By.CLASS_NAME, 'tv-unauth-header__text-input js-go-to-chart-field')
print("elem_3 as follows:", elem_3)

找到了这几个靠近这个区域的,不过觉得不是 username 和 password 的输入哈
hcnhcn012
2017-11-19 14:01:25 +08:00
Chrome f12 的左上角,那里有个按钮,点一下就可以用鼠标选取元素定位了
jahan
2017-11-19 14:02:05 +08:00
@iiduce 谢谢指点,那这个需要怎么办? js 也在这个网页里面吧
jahan
2017-11-19 14:06:28 +08:00
iiduce
2017-11-19 14:10:21 +08:00
@jahan 剩下的你自己研究吧,应该没有问题的。

你的问题让我想起了工作的第一年,一些基础问题原理还没有搞明白。

那时 V2EX 刚成立不久,这里提问被嘲笑过。所以我才来回答。
jahan
2017-11-19 14:11:03 +08:00
在这里里面的话,是不是要
driver.get("https://www.tradingview.com/static/bundles/signin-dialog.9e33db5940f5894253d9.js ")
password =driver.find_element(By.NAME, 'password')
jahan
2017-11-19 14:12:53 +08:00
@iiduce 做 it 基本就是这样子。感谢你的回答,热心。
fzinfz
2017-11-20 02:22:51 +08:00
jahan
2017-11-20 02:31:25 +08:00
感谢大家,已经做完了。现在的问题是浏览速度比较慢,970 个 ticker,一个要 wait 一分钟,也就 16 个小时?就是有点慢。
jahan
2017-11-20 02:31:59 +08:00
话说这 selenium 真是太棒了。
wx8600
2017-11-22 20:07:21 +08:00
好像 Firefox、Chrome、IE 都可以直接右键检查元素的吧?
要在 Python 里面找的话,你可以考虑看一下 lxml (我没用过, 刚弄了一个用 beautifulsoup 的、感觉很慢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/407650

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX