python+selenium实现查找豆瓣小组回帖

代码

from selenium import webdriver
import time

def main():
    chrome_driver = 'C:\xxxxx\Google\Chrome\Application\chromedriver.exe'
    driver = webdriver.Chrome(executable_path=chrome_driver)
    driver.get("https://www.douban.com/")
    time.sleep(5)
    
    
    curFrame = driver.find_element_by_tag_name("iframe")
    #print(curFrame)
    time.sleep(5)
    #登录表单在页面的框架中中,所以要切换到该框架
    driver.switch_to_frame(curFrame)
    # 通过使用选择器选择到表单元素进行模拟输入和点击按钮提交
    driver.find_element_by_class_name('account-tab-account').click()
    time.sleep(5)
    driver.find_element_by_id('username').send_keys('xxx')
    driver.find_element_by_id('password').send_keys('xxx')
    
    driver.find_element_by_css_selector('.account-form-field-submit>.btn').click()
    time.sleep(10)
    
    
    #去指定页面,删除小组中的回应
    driver.find_element_by_link_text("小组").click()
    time.sleep(5)
    #上一次点击操作,打开了新页面,现在需要在新页面定位元素,否则会出现定位不到的问题,0是前面一个页面,1是点击后的页面
    driver.switch_to.window(driver.window_handles[1])
    time.sleep(2)
    #driver.find_element_by_css_selector(".mod.profile-entry>.info>a").click()
    driver.find_element_by_link_text("我的小组主页").click()
    time.sleep(5)
    driver.find_element_by_link_text("回应").click()
    time.sleep(5)
    
    tableBody = driver.find_element_by_class_name('olt')
    list = tableBody.find_elements_by_class_name("title")
    print(len(list))
    
    for item in list:
        tagetItem = item.find_element_by_tag_name("a").text
        print(tagetItem)
        #item.find_element_by_tag_name("a").click()
        time.sleep(5)
        
       
    
    driver.quit()
    
if __name__== '__main__':
    main()

知识点:弹出一个新窗口的元素定位

selenium中webdriver跳转新页面后定位置新页面的两种方式-参考博文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值