2 回答
TA贡献1809条经验 获得超8个赞
我打印出异常,它说元素不可点击。除了点击它,另一种方法是使用send_keys("\n")
模拟链接点击。
wait.until(EC.presence_of_element_located((By.CSS_SELECTOR, "a[title*='next page']"))).send_keys("\n")
我试过了,我能够导航到所有页面。
TA贡献1789条经验 获得超8个赞
如果您想抓取数据,则不需要 Selenium。您可以使用requestspackage 更快地获取 json 格式的所有信息。
下面的代码收集所有学校的详细信息作为地图列表result:
import requests
data = {
'take': '10',
'skip': '0',
'page': '1',
'pageSize': '10',
'pageIndex': '0'
}
url = 'https://www.yogaalliance.org/DesktopModules/YAServices/API/SchoolDirectory/SearchSchools'
response = requests.post(url, data=data)
result = response.json()["Result"]
totalCount = response.json()["TotalCount"]
totalCount = int(totalCount / 10)
for i in range(1, totalCount):
data['skip'] = int(data['skip']) + 10
data['page'] = i + 1
data['pageIndex'] = i
response = requests.post(url, data=data)
result.extend(response.json()["Result"])
print(result)
添加回答
举报