2017-06-21 8 views
0

私はPython(Linkedinサイト)でいくつかのWebスクレイピングを行っていて、次の2つの問題に悩まされました:1)検索バーにテキストを入力するには? 2)ボタンをクリックする方法?入力するPythonでウェブを傷つける:テキストを入力してボタンをクリックする

<input aria-autocomplete="list" autocomplete="off" spellcheck="false" 
placeholder="Búsqueda" autocorrect="off" autocapitalize="off" id="a11y- 
ember6214" role="combobox" class="ember-text-field ember-view" aria- 
expanded="false"> 

私はXPathを使用していた(そして、それは動作します)テキストが、それは、私は、サイトにログインするたびに変更します:まず、これは検索バーコードである

search = driver.find_element_by_xpath('//*[@id="a11y-ember997"]') 
search.send_keys('MedMake') 

だから、可能性上記の入力バーコードの代わりにスクリプトを複数回実行することができますか?

私の2番目のポイントは、2)ボタンをクリックする方法です。再度xpathを使用していましたが、ログインごとに変更されます。私のコードは:

button = driver.find_element_by_xpath('//*[@id="nav-search-controls-wormhole"]/button') 
button.click() 

私はボタンのコードを点検し、私の代わりに使用したいデータ・垂直(多くのボタンが上があるので、タグのボタンは十分ではありません=「人」や、このユニークなフィールドの他Linkedinサイト)。ところで、これらの内側のフィールドはどのように呼ばれていますか?私は自分の問題の一部がHTMLコードの理解の欠如から生じると信じています。

<button data-vertical="PEOPLE" data-control- 
name="vertical_nav_people_toggle" data-ember-action="" data-ember- 
action-8620="8620" data-is-animating-click="true"> 
Gente 
</button> 

答えて

0

id場合は属性値を使用すると、静的な値と他の属性を使用することができ、ダイナミックです。

search = driver.find_element_by_xpath('//input[@placeholder="Búsqueda"]') 
search.send_keys('MedMake') 
button = driver.find_element_by_xpath('//button[normalize-space()="Gente"]') 
button.click() 
0

第1の使用のXPath

//input[contains(@class,'ember-text-field')] 

2つ目は、XPathを使用

//button[@class='vertical_nav_people_toggle'] 
関連する問題