昨天做了登录测试,由于没有注册账号密码
今天就收集里面的所有游戏名称
先分析下这个网站,收集里面的全部游戏需要去点击全部游戏,不过可以通过点击每个游戏分类,我选择前者,
browser.find_element_by_xpath('//*[@id="menu-item-10102"]/a').click()
打开这个页面后,总共有137页,而每个页面有12个游戏信息,只有最后一页只有三个游戏,待会循环到最后一页需要判断一下
点击下一页发现变化只是地址栏的page页码部分
所以直接F12查看游戏名称所在标签,与游戏详情页的链接是同一个标签,唯一变化的是li标签的
然后所以直接循环,
但是
需要用到text提取文本,通过get_attribute(‘href’),获取a标签href属性值
tag='/html/body/div/div[4]/div/div[1]/form/div/div/ul/li['+str(i)+']/a'
tagText=self.browser.find_element_by_xpath(tag).text
tagHref=self.browser.find_element_by_xpath(tag).get_attribute('href')
接着昨天的完整代码如下
from selenium import webdriver
browser=webdriver.Chrome()
browser.get('http://8600k.com')
gname=''
gamehref=''
gameType=''
for i in range(1,138):
hres='http://86000k.com/q/page/'+str(i)+'/'
browser.get(hres)
print('成功打开'+str(i)+'\n')
time.sleep(3)
b=13
if i == 137:
b=3
for j in range(1,b):
gamehref=browser.find_element_by_xpath('/html/body/div/div[4]/div/div[2]/div/div/main/div[1]/div['+str(j)+']/article/div[2]/header/h2/a').get_attribute('href')
gname=browser.find_element_by_xpath('/html/body/div/div[4]/div/div[2]/div/div/main/div[1]/div['+str(j)+']/article/div[2]/header/h2/a').text
print('游戏名称:'+gname+'-----游戏详情页:'+gamehref+'\n')
print('第'+str(i)+'页结束',end='\n')
然后直接run
运行结果如下
哈,今天的记录到此结束。。。。。