2017-06-12 127 views
0

我必须点击我发现的链接,但是当我运行该脚本时,它会点击第一个链接,我该如何修复它? 进口机械化点击第一个链接mechanize python

BR = mechanize.Browser()

br.addheaders = [( “用户代理”, “浏览器”)]

br.set_handle_robots(假)

而True:

kaynak = br.open("https://temp-mail.org/en/option/change/") 

br.select_form(nr=0) 

email = br.form.find_control(id='mail', name='mail') 

email.value = "something" 

submit = br.submit(nr=0) 

go = br.open("https://temp-mail.org/en/option/refresh/") 

target_text = 'Facebook' 

for link in br.links(): 
    print(link) 
    print(link.text) 

    if link.text == target_text: 
     print('match found') 
     break 

    br.follow_link(link) 
    print(br.geturl()) 

回答

0

您的indentaion已关闭。您的for循环现在遵循它找到的每个链接,而不仅仅是匹配的链接。或者在break之前或在for循环之后将您的关注声明放在if之内:

for link in br.links(): 
    print(link) 
    print(link.text) 

    if link.text == target_text: 
     print('match found') 
     # Here... 
     br.follow_link(link) 
     print(br.geturl()) 
     break 

# Or here... 
br.follow_link(link) 
print(br.geturl())