2016-01-20 76 views
-2

我是python硒初学者。 我想从仪表板解析程序。我想在仪表板中使用python selenium解析程序

这里是我的python代码

这段代码可以先贴近标签。但它不能去第二个,第三个标签。 我尝试'anchor_element [1] .click()',但它是一个错误的代码。 我不知道哪里错了

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 
import time 
driver = webdriver.Firefox() 

url = 'http://www.naver.com' 

driver.get(url) 

id_input = driver.find_element_by_name('id') 
id_input.send_keys('jaeyeon93') 

pass_input = driver.find_element_by_name('pw') 
pass_input.send_keys('wodus0101') 

log_button = driver.find_element_by_class_name('btn_login') 

log_button.click() 

time.sleep(2) 
url2 = 'cafe.naver.com/startdata' 

driver.get(url2) 
#go to dashborad. 
driver.find_element_by_xpath(".//*[@id='menuLink0']").click() 
#change iframe. dashboard source code is in iframe 
board_iframe = driver.find_element_by_id('cafe_main') 
driver.switch_to_frame(board_iframe) 


anchor_element = driver.find_elements_by_tag_name('a') 
anchor_element.click() 

这里是我想单击该代码,并使用循环

<iframe name='cafe_main' id='cafe_main'> 
<form name='ArticleList'> 
    <table class="board-box"> 
     <tbody> 
      <tr> 
       <td></td> 
       <td class='board-list'> 
        <span> 
         <span class='aaa'> 
          <a class="m-tcol-c" onmouseover="" onclick="return dynamicParamLink('/ArticleRead.nhn?clubid=28279768&page=1&boardtype=L&articleid=91&referrerAllArticles=true', event);" href="/ArticleRead.nhn?clubid=28279768&page=1&boardtype=L&articleid=91&referrerAllArticles=true">API Store</a> 
         </span> 
        </span> 
       </td> 
      </tr> 

      <tr> 
       <td></td> 
       <td class='board-list'> 
        <span> 
         <span class='aaa'> 
          <a class="m-tcol-c" onmouseover="" onclick="return dynamicParamLink('/ArticleRead.nhn?clubid=28279768&page=1&boardtype=L&articleid=90&referrerAllArticles=true', event);" href="/ArticleRead.nhn?clubid=28279768&page=1&boardtype=L&articleid=90&referrerAllArticles=true">WikiDocs - Online books platform</a> 
         </span> 
        </span> 
       </td> 
      </tr> 

      <tr> 
       <td></td> 
       <td class='board-list'> 
        <span> 
         <span class='aaa'> 
          <a class="m-tcol-c" onmouseover="" onclick="return dynamicParamLink('/ArticleRead.nhn?clubid=28279768&page=1&boardtype=L&articleid=90&referrerAllArticles=true', event);" href="/ArticleRead.nhn?clubid=28279768&page=1&boardtype=L&articleid=90&referrerAllArticles=true">Third Href</a> 
         </span> 
        </span> 
       </td> 
      </tr> 

      <tr> 
       <td></td> 
       <td class='board-list'> 
        <span> 
         <span class='aaa'> 
          <a class="m-tcol-c" onmouseover="" onclick="return dynamicParamLink('/ArticleRead.nhn?clubid=28279768&page=1&boardtype=L&articleid=90&referrerAllArticles=true', event);" href="/ArticleRead.nhn?clubid=28279768&page=1&boardtype=L&articleid=90&referrerAllArticles=true">4th Href</a> 
         </span> 
        </span> 
       </td> 
      </tr> 
     </tbody> 
    </table> 
</form> 
</iframe> 

请解析。帮我。

回答

0

它只执行一次。做多了,你需要一个for循环的地方

编辑:

这里:

for(your_range): 
    anchor_element = driver.find_elements_by_tag_name('a') 
    anchor_element.click() 
+0

这不会提供问题的答案。要批评或要求作者澄清,请在其帖子下方留言。 - [来自评论](/ review/low-quality-posts/10963552) –

+0

编辑。谢谢。 –

0

你可以得到所有用下面的代码锚定体,而不需要这么多的疑问,你有现在在您的代码中:

driver.get(url2) 
###### New code ######## 
links = driver.find_elements_by_xpath(".//a") 
for link in links: 
    link.click() 
+0

我尝试这个代码, 但第一循环是好的,但是,下一个循环有问题 链接= driver.find_elements_by_xpath(“.//一”) 的链接链接: link.click() time.sleep (3) driver.back() 但第二个循环不起作用。 我想存储的所有标签在anchor_elements = [] 使用anchor_elements = driver.find_elements_by_tag_name( 'A') #anchor_elements = [] #anchor_elements = driver.find_elements_by_tag_name( 'A') #anchor_elements [ 0] .click() #time.sleep(3) #driver.back() #anchor_elements [1] .click() 但我不知道为什么会出现这个问题 –

相关问题