2016-08-04 4 views
0

アーティフィシャルの一般的なhuffingtonポストのコメントテキストボックスにアクセスしようとしています。 <div class="_1cb _5yk1">が強調表示された行とセレンのテキストボックスを選択できません

<div class="UFIInputContainer"> 
<div class="_1cb _5yk1"> 
    <div class="_5yk2" tabindex="-2"> 
    <div class="_5rp7"> 

:私は右の要素を検査クリックすると、私は、次のHTMLコードを取得します。

from selenium import webdriver 
driver = webdriver.Chrome() 
''' 
Just pretend that I put in some code to log in to facebook 
so I can actually post a comment on huffington post 
''' 
driver.get.('http://www.huffingtonpost.com/entry/worst-suicide-squad-reviews_us_57a1e213e4b0693164c34744?') 
''' 
Just a random artical about a movie 
''' 
comment_box = driver.find_element_by_css_selector('._1cb._5yk1') 
''' 
since this is a compound class I think I should use find_by_css_selector 
''' 

これを実行すると、「このような要素が見つかりません」というエラーメッセージが表示されます。私はコメントのテキストボックスを保持しようとする他の方法を試みたが、私は同じエラーメッセージが表示され、私はそれにアクセスする方法を失っている。私は、誰かがこの問題についていくつかの光を当てることができると願っています。

編集:

<html lang="en" id="facebook" class="svg "> 
<head>...</head> 
    <body dir="ltr" class="plugin chrome webkit win x1 Locale_en_US"> 
    <div class="_li"> 
    <div class="pluginSkinLight pluginFontHelvetica"> 
    <div id="u_0_0"> 
     <div data-reactroot class="_56q9"> 
     <div class="_2pi8"> 
     <div class="_491z clearfix">...</div> 
     <div spacing="medium" class="_4uyl _1zz8 _2392 clearfix" direction="left"> 
      <div class="_ohe lfloat">...</div> 
      <div class> 
      <div class="UFIInputContainer"> 
      <div class="_1cb _5yk1"> 
      <div class="_5yk2" tabindex="-2"> 
       <div class="_5rp7"> 
      </div> 
      </div> 
      <div class="UFICommentAttachmentButtons clearfix">...</div> 
      <!-- react-empty: 39 --> 
      <div class="_4uym">...</div> 
      </div> 
      </div> 
     </div> 
     ::after 
+0

HTMLを表示されている場合、あなたはあなたが見る少数のより多くのラインを共有できます'input'タグです。 –

+0

HTMLコードを調べたところ、隣接するコードに入力タグが見つかりませんでした。 –

答えて

0

あなたは、テキストボックスを含むインラインフレームに切り替えることがあります。これは、より完全なHTMLコードです。次のアプローチを試してみてください、それが動作するはずです: を最初に必要となる場合があります負荷のコメント]ボタンをクリックすると、負荷のコメントボタンはチェックボックスについての任意のものを表示しません

load_comment = driver.find_element_by_css_selector('.comment-button.js-comment-button') 
load_comment.click() 
driver.switch_to_frame(driver.find_element_by_css_selector('.fb_ltr.fb_iframe_widget_lift')) 
comment_box = driver.find_element_by_css_selector('._1cb._5yk1') 
comment_box.send_keys('Test') 
+0

ありがとうございます。コードは私をより近づける。 comment_box.click()コマンドを入力すると、コメントボックスにcurserが表示されますが、comment_box.send_keys( 'Test')コマンドを送信するとエラーが発生します:要素をフォーカスできません。 –

+0

'.click()'を使わずに直接comment_boxにテキストを送ってみてください。 – Amit

+0

残念ながら、同じエラーメッセージが表示されています。 –

関連する問題