Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.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-在selenium if found元素中循环站点_Python_Loops_While Loop - Fatal编程技术网

Python-在selenium if found元素中循环站点

Python-在selenium if found元素中循环站点,python,loops,while-loop,Python,Loops,While Loop,我使用了论坛并成功地编写了这段代码 其目的是转到页面,然后查找图片如果有图片,请单击它,然后转到下一页[下一步],再次开始查找图片 如果图片丢失,它应该在同一页上再次开始搜索,但如果出现错误,它应该停止搜索。 基本上,我有三个页面,我希望循环一直运行,直到出现错误,这将打破它。 简而言之,它应该是这样工作的: 程序进入site1,查找图片如果他找到了它,他点击它并进入站点2,如果他找到了一张图片,点击它并进入站点3,这里同样如此然后返回到开头,返回site1-site3并查找图片只有在出现消息

我使用了论坛并成功地编写了这段代码
其目的是转到页面,然后查找图片
如果有图片,请单击它,然后转到下一页[下一步],再次开始查找图片

如果图片丢失,它应该在同一页上再次开始搜索,但如果出现错误,它应该停止搜索。
基本上,我有三个页面,我希望循环一直运行,直到出现错误,这将打破它。 简而言之,它应该是这样工作的:
程序进入site1,查找图片
如果他找到了它,他点击它并进入站点2,
如果他找到了一张图片,点击它并进入站点3,这里同样如此
然后返回到开头,返回site1-site3并查找图片
只有在出现消息“@id='error”时才会中止,如果没有图像,他希望使用上一个site[]值刷新页面并重新开始查看

我需要什么? 检查代码是否正确,并帮助循环在站点[]周围运行,直到出现错误

def isonsite():
    site = ['site1', 'site2', 'site3']
    driver.get("https://{0}.test.com".format(site[0]))
    while True:
        try:
            # if found element (img) on site
            driver.find_element_by_xpath("//*[@id='img']/div[2]/div/span[3]/a/img")
            time.sleep(2)
            # then click on image
            driver.find_element_by_xpath("//*[@id='img']/div[2]/div/span[3]/a/img").click()
            time.sleep(2)
            # and now should go to [site[1]]
            print('Image clicked, go to next site...')
        except NoSuchElementException:
            # go to start a loop with the same site as actual (site[]) number like 2,3,4...
            isonsite()
            try:
                # But if on site i found 'error' then break
                driver.find_element_by_xpath("//*[@id='error']/div[2]/div/span[3]")
                break
            except NoSuchElementException:
                print('Refreshing')

你能给你的帖子添加更多的上下文吗?我不知道你去了哪个论坛,也不知道你应该是什么类型的对象
driver