Selenium webdriver在facebook时间线上加载来自状态/照片的评论

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Selenium webdriver在facebook时间线上加载来自状态/照片的评论相关的知识,希望对你有一定的参考价值。

我在Python中使用Selenium Webdriver作为自动使用Facebook的应用程序。我正在努力找到一种方法来选择加载评论(它显示为一个小气泡和数字来表示评论的数量)在我的时间轴上的对象上,无论是照片还是状态。

查看源代码时,它们都包含与此类似的html

<a aria-label="Show comments" class="mls UFIBlingBoxTimelineItem" data-ft="  
&quot;tn&quot;:&quot;O&quot;" 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>

但尝试idXPATHclass 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>
答案

有时,即使用户可以看到元素,也可以对webdriver“不可见”。这通常涉及一个页面,其中javascript更改元素与花式html叠加(我忘记了确切的单词)。

尝试

driver.execute_script( "return $('a.html');" )

然后用js / jq实现click

以上是关于Selenium webdriver在facebook时间线上加载来自状态/照片的评论的主要内容,如果未能解决你的问题,请参考以下文章

聊聊Selenium不同webdriver的构造

appium的webdriver和selenium有啥区别?

selenium之python源码解读-webdriver继承关系

使用 Java 在 Selenium WebDriver (selenium 2) 中处理警报

Selenium WebDriver的使用

selenium及webdriver的原理