我在Python中使用Selenium Webdriver
作为自动使用Facebook的应用程序。我正在努力寻找一种方法来选择加载评论(它显示为一个小气泡和数字来表示评论的数量)在我的时间轴上的对象上,无论是照片还是状态。
在查看源代码时,它们都包含与此类似的HTML:
<a aria-label="Show comments" class="mls UFIBlingBoxTimelineItem" data-ft="
{"tn":"O"}" data-hover="tooltip" data-tooltip-alignh="right"
href="#"data-reactid=".2p.1" id="js_4">
<span data-reactid=".2p.1.0">
<i class="UFIBlingBoxTimelineCommentIcon UFIBlingBoxSprite"
datareactid=".2p.1.0.0">
</i><span class="UFIBlingBoxText" data-reactid=".2p.1.0.1">5</span></span>
</a>
但是尝试id
,XPATH
,class name
来查找元素都不起作用....任何想法?
修改
html一旦加载就发表评论
<span data-
reactid=".cb.1:3:1:$comment699251410106274_2091272:0.0.$right.0.$left.0.0.0:$comment-
body.0"><span data-
reactid=".cb.1:3:1:$comment699251410106274_2091272:0.0.$right.0.$left.0.0.0:$comment-
body.0.$end:0:$0:0">Anto, you are not funny honey! </span></span>
答案 0 :(得分:0)
有时,即使用户可以看到某个元素对于webdriver也“不可见”。这通常涉及一个带有javascript更改元素的页面,带有花哨的html叠加(我忘记了确切的单词)。
尝试
driver.execute_script( "return $('a.html');" )
然后用js / jq
实现点击