Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.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 - Fatal编程技术网

Python 如何从列表中获取值?蟒蛇与硒

Python 如何从列表中获取值?蟒蛇与硒,python,selenium,Python,Selenium,如何从列表中获取URL以添加到屏幕截图名称? 目前只抓到第一个,请帮忙 嗨,自动化爱好者 要从列表中获取项目,请使用listname[index]。请记住,索引从0开始,然后按1计数 要连接两个字符串,请使用string1+string2 要将文件名更改为结果,请使用os.rename(“original/filename/和/file.path”,“new/filename/和/file.path”) 希望这对您有所帮助,BoxTechy如果循环在相同的范围内,您可以尝试: def take_

如何从列表中获取URL以添加到屏幕截图名称?
目前只抓到第一个,请帮忙

嗨,自动化爱好者

要从列表中获取项目,请使用
listname[index]
。请记住,索引从0开始,然后按1计数

要连接两个字符串,请使用
string1+string2

要将文件名更改为结果,请使用
os.rename(“original/filename/和/file.path”,“new/filename/和/file.path”)


希望这对您有所帮助,BoxTechy

如果循环在相同的范围内,您可以尝试:

def take_all_screenshots(self):
 Base_URL = "URL HERE"
 pages = ['urlhere1',
          'urlhere2',
          'urlhere3',
          ]

 for page in pages:
    self.driver.get(Base_URL + page)
    pagename = "%s" %str(page)
    name = pagename + str(datetime.datetime.now()) + '.png'
    self.driver.save_screenshot('screenshots/%s' % name)

对于页面中的页面:
将返回列表中正确的项目

我希望屏幕截图名称显示为“urlhere1+datetime.png”您当前的输出是什么?只需要第一个URL的一个屏幕截图即可从列表中抓取URL。尝试在for循环的最后一行之前插入print语句以打印出
名称
,您将在那里看到不同的URL。您的
self.driver
似乎没有获取其他URL。尝试了此操作后,仍然只为列表中的第一项保存一个屏幕截图。如果我取出页面,它会保存所有带有日期+时间的截图。对于页面中的页面:self.driver.get(Base_URL+page)pagename=str(page)name=pagename+str(datetime.datetime.now())+'.png'print name self.driver.save_屏幕截图('screenshots/%s'%name')如何在循环运行时抓取每个页面?name=str(pages[0])+str(datetime.datetime.now())+'.png'@automationnthusisat您可以使用变量和整数。请改为尝试pages[page]。pages[page]类型错误:列表索引必须是整数,而不是整数str@AutomationEnthusiast等等,我刚意识到你在重复列表!只需调用页面本身。对不起,我试过了,出于某种原因,它只抓取了第一个&之后就不再截图了
def take_all_screenshots(self):
    Base_URL = "URL HERE"
    pages = ['urlhere1',
             'urlhere2',
             'urlhere3',
            ]

    for page in pages:
        #Why have a getter() that returns nothing
        #self.driver.get(Base_URL + page)
        pagename = "%s" %str(page)
        name = pagename + str(datetime.datetime.now()) + '.png'
        self.driver.save_screenshot('screenshots/%s' % name)