Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么循环跳过了某些动作并进入下一轮_Python_Selenium_Loops_Web Scraping - Fatal编程技术网

Python 为什么循环跳过了某些动作并进入下一轮

Python 为什么循环跳过了某些动作并进入下一轮,python,selenium,loops,web-scraping,Python,Selenium,Loops,Web Scraping,问题说明: 我希望从此url中删除所有评论: https://seedly.sg/reviews/p2p-lending/funding-societies 所以我想做的是: 如果注释很长,请使用selenium单击“更多”按钮 获得每次评论 点击进入下一页 但我的代码当前的运行方式正在打印: •在另一页中单击“更多” •在另一页中单击“更多” •在另一页中单击“更多” •在另一页中单击“更多” •附加1项审查 •附加1项审查 •附加1项审查 •附加1项审查 •附加1项审查 •进入下一页 •进

问题说明: 我希望从此url中删除所有评论:

https://seedly.sg/reviews/p2p-lending/funding-societies
所以我想做的是:

如果注释很长,请使用selenium单击“更多”按钮

获得每次评论

点击进入下一页

但我的代码当前的运行方式正在打印:

•在另一页中单击“更多”

•在另一页中单击“更多”

•在另一页中单击“更多”

•在另一页中单击“更多”

•附加1项审查

•附加1项审查

•附加1项审查

•附加1项审查

•附加1项审查

•进入下一页

•进入下一页

•进入下一页

这表明python跳过了某些代码。 应在另一页中单击“更多”,并在转到下一页后附加1条评论

我可以知道这个问题的原因吗?我怎样才能解决它? 提前多谢

这是我的密码

'''Loop all pages'''
for i in range(0,3):
    '''Automation of clicking all more'''
    test = browser.find_elements_by_xpath('//a[contains(@class,"sc-1rz2iis-2 xgYML")]')
    for x in range(0,len(test)):
        more = browser.find_element_by_xpath('//a[contains(@class,"sc-1rz2iis-2 xgYML")]')
        more.click()
        sleep(1)
        print("clicking more in another page")
    '''Getting reviews''' 
    reviews = browser.find_elements_by_xpath('//div[contains(@class,"sc-1rz2iis-1 iMLmnZ")]')
    for y in reviews:
        reviews = y.text
        reviews_list.append(reviews)
        print("appended 1 review")
    '''Automation of getting to the next page'''
    sleep(4)
    browser.find_element_by_xpath('//*[@id="__next"]/div/div[2]/div/div/div[2]/div[3]/ul/div/div/ul/li[11]').click()
    print("going to the next page")

我建议您在执行任务时使用,它将大大加快速度。也就是说,您的代码应该如下所示

import requests


star_rating = []
text_rating = []

for page_nmb in range(1,10000000):
    url = f"https://api.seedly.sg/api/v4/product/items/5/reviews?page={page_nmb}&sort%5Bby%5D=updated_at&sort%5Bdir%5D=desc&include_latest_comment=true&per=100"
    headers = {"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:71.0) Gecko/20100101 Firefox/71.0"}
    raw = requests.get(url, headers=headers).json()
    if len(raw["data"]) == 0:
        break
    for review in raw["data"]:
        star_rating.append(review["rating"])
        text_rating.append(review["text"])
star_rating显示每篇评论剩余的星数,text_rating显示页面上所有的书面评论


希望这有帮助

那不是你的全部计划,对吗?请看:。嗨!非常感谢你的帮助!我已经解决了这个问题。这是因为我在单击下一页后没有添加睡眠,所以它没有完全加载该页,使我无法单击more@JoeyWong不用担心,很高兴这有帮助!如果你能接受答案,点击答案附近的灰色勾号,那将是非常棒的!新年快乐!新年快乐!祝你在新的一年里一切顺利!