2015-10-06 46 views
-1

我想向使用python中的selenium的FB朋友發送消息。我已經試過元素與XPath,CSS選擇器,類,但它不能正常工作,請幫助我怎麼會是我使用如何使用Python中的Selenium驅動程序在Facebook上發送消息

Message_button = browser.find_element_by_id("u_0_t") 
Message_button.click() 
time.sleep(10) 

message = browser.find_element_by_xpath("//textarea[@class='luiTextareaAutogrow _552m']") 
message.send_keys("Hi this is Mark how are you..!") 
message.submit() 
time.sleep(10) 

這裏試圖在FB代碼

<div class="fbNubFlyoutFooter"> 
 
    <div class="_552h _n4k"> 
 
    <textarea style="height: 15px;" class="uiTextareaAutogrow _552m" data-ft="{&quot;tn&quot;:&quot;+N&quot;}" onkeydown="run_with(this, [&quot;legacy:control-textarea&quot;], function() {TextAreaControl.getInstance(this)});"></textarea> 
 
    </div> 
 
    <div style="right: 0px;" class="_552n"> 
 
    <div class="_10nr"></div> 
 
    <div class="_6a _552o"> 
 
     <form action="https://upload.facebook.com/ajax/mercury/upload.php" class="_vzk" title="Add Photos" method="post" data-reactid=".12"> 
 
     <input name="attach_id" data-reactid=".12.0" type="hidden"> 
 
     <input name="images_only" value="true" data-reactid=".12.1" type="hidden"> 
 
     <div class="_m _4q60 _3rzn _6a" data-reactid=".12.2"><a tabindex="0" class="_4q61 _5f0v _509v" data-reactid=".12.2.0"><i class="_509w" alt="Camera" data-reactid=".12.2.0.0"></i></a> 
 
      <input class="_n" name="attachment[]" multiple="" accept="image/*" title="Add Photos" data-reactid=".12.2.1" type="file"> 
 
     </div> 
 
     </form> 
 
    </div> 
 
    <div class="uiToggle _1tn3 emoticonsPanel" data-ft="{&quot;tn&quot;:&quot;+O&quot;}"><a class="_4vui" tabindex="0" title="Choose a sticker or emoticon" rel="toggle" role="button"><i class="_4l9x"></i></a> 
 
     <div class="_5r8f panelFlyout uiToggleFlyout"> 
 
     <div class="_5r8p"> 
 
      <div style="padding:30px;text-align:center;" data-reactid=".13"><span class="img _55ym _55yq _55yo _5d9-" aria-label="Loading..." aria-busy="true" data-reactid=".13.0"></span> 
 
      </div> 
 
     </div> 
 
     <div class="panelFlyoutArrow"></div> 
 
     </div> 
 
    </div> 
 
    <div class="lfloat"></div> 
 
    <div class="_5g2o"><a tabindex="0" aria-label="Send a Like" class="_3s0d" title="Send a Like" data-reactid=".10"><i class="_2y9i _30yy" data-reactid=".10.0"></i></a> 
 
    </div> 
 
    </div> 
 
</div>

請幫我用正確的方法

+0

你說這不起作用,但**如何**不起作用?你得到一個錯誤?你期望的東西沒有發生?你不希望發生的事情?用這些信息編輯你的問題。 – Louis

回答

0

可以使用css_selectorKeys.ENTER如下我:

# enter your text by using css selector 
driver.find_element_by_css_selector(".uiTextareaAutogrow._552m").send_keys("Merhaba, nasilsiniz?") 

# you can send your message by sending native keyboard ENTER 
driver.find_element_by_css_selector(".uiTextareaAutogrow._552m").send_keys(Keys.ENTER) 
+0

請考慮編輯您的帖子以添加更多關於您的代碼的解釋以及爲什麼它可以解決問題。一個主要包含代碼的答案(即使它正在工作)通常不會幫助OP瞭解他們的問題。 – SuperBiasedMan

+0

值得注意的是,Facebook使用的主要是動態生成的CSS標籤名稱,標識和屬性。你必須深入挖掘它,找到一種純粹通過使用CSS選擇器或XPATH自動化的可預測方法。一次有效,下次可能無法使用。 – theeastcoastwest

相關問題