Richfit_test 发表于 2018-8-26 22:41:56

Python + Selenium验证搜索显示

本人初学Python+Selenium测试,最近在百度搜索设置每页显示20条后,输入某一关键词搜索,如何验证在搜索结果中的第1页显示条数为20条,如果等于20,验证失败?

请高手赐教!

Richfit_test 发表于 2018-8-26 22:43:21

本人初学Python+Selenium测试,最近在百度搜索设置每页显示20条后,输入某一关键词搜索,如何验证在搜索结果中的第1页显示条数为20条,如果不等于20,验证失败?

请高手赐教!

qqq911 发表于 2018-8-27 11:05:47

分析下结构体,每条记录前面应该都有编号的,判断下是否等于20即可。

zhu_angel 发表于 2018-8-27 11:20:07


我是显示10条的,通过上图可看出上是有规律的 ,通过搜索存在是否等于10即可

NancyWangDL 发表于 2018-8-27 15:25:52

本人也是初学不久,使用python+selenium编写了以下代码,可以参考下
from selenium import webdriver
from lxml import etree
from pyquery import PyQuery as pq
import time

driver = webdriver.Ie()
driver.get('https://www.baidu.com/')
driver.implicitly_wait(3)

driver.find_element_by_link_text('设置').click()
driver.find_element_by_link_text('搜索设置').click()

driver.find_element_by_id('nr').find_element_by_xpath('//*[@id="nr"]/option').click()
driver.find_element_by_xpath('//*[@id="gxszButton"]/a').click()
driver.switch_to_alert().accept()

driver.find_element_by_id('kw').send_keys('Python Selenium 句柄')
driver.find_element_by_id('su').click()
time.sleep(3)

page = driver.page_source
doc =pq(page)
doc = etree.HTML(str(doc))
contents = doc.xpath("//div[@id='content_left']/div/h3")

for x in contents:
    title = x.xpath('a/text()')
    print(title)

print('======================================================')

if title.count == 10:
    print('Pass')
else:
    print('No')


driver.quit()

Richfit_test 发表于 2018-8-27 21:52:05

非常感谢3楼,四楼和五楼的回答。。尤其是五楼还贴出了源码。。我回头去试一试看看效果。 :)

Richfit_test 发表于 2018-8-27 22:02:48

qqq911 发表于 2018-8-27 11:05
分析下结构体,每条记录前面应该都有编号的,判断下是否等于20即可。

谢谢您的回复。。推我有帮助。

Richfit_test 发表于 2018-8-27 22:03:29

zhu_angel 发表于 2018-8-27 11:20
我是显示10条的,通过上图可看出上是有规律的 ,通过搜索存在是否等于10即可

谢谢您的回复,对我有帮准。

Richfit_test 发表于 2018-8-27 22:04:01

NancyWangDL 发表于 2018-8-27 15:25
本人也是初学不久,使用python+selenium编写了以下代码,可以参考下

谢谢您的回复,对我有帮助。。万分感谢源代码。
页: [1]
查看完整版本: Python + Selenium验证搜索显示