快速概述:我正在使用Python和Selenium编写一个非常简单的脚本,以查看多个Facebook页面的Facebook指标。
我试图找到一种干净的方法来循环浏览页面并输出其结果(这只是我所收集的一个数字)。
这是我现在所拥有的,但是它不起作用。
# Navigate to metrics page
pages = ["page_example_1", "page_example_2", "page_example_3"]
for link in pages:
browser.get(('https://www.facebook.com/{link}/insights/?section=navVideos'))
答案 0 :(得分:2)
# Navigate to metrics page
pages = ["page_example_1", "page_example_2", "page_example_3"]
for link in pages:
browser.get('https://www.facebook.com/'+ link + '/insights/?section=navVideos')
它只是字符串连接 或者如果您非常想使用该语法,请查看@heather
的注释答案 1 :(得分:1)
这对您不起作用,因为您打算使用Python 3.6的f字符串,但是却忘记在字符串的前面加上f
字符-这对于此语法至关重要。例如。您的代码应为(仅相关部分):
browser.get(f'https://www.facebook.com/{link}/insights/?sights/?section=navVideos')
或者,您可以使用字符串格式设置(例如3.6之前的既定方法):
browser.get('https://www.facebook.com/{}/insights/?sights/?section=navVideos'.format(link))
通常,出于性能和可读性的考虑,不建议在python中使用字符串串联-'string1' + variable + 'string2'
。
顺便说一句,在示例代码中,get()
的参数周围有括号-它是browser.get((arg))
,实际上把它变成了一个元组,并且可能导致调用错误。不确定是错字还是故意的,您可以看到我和其他响应者已将其删除。