如何将迭代的字符串变量放置在另一个字符串中

时间:2018-07-19 01:18:21

标签: python selenium

快速概述:我正在使用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'))

2 个答案:

答案 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)),实际上把它变成了一个元组,并且可能导致调用错误。不确定是错字还是故意的,您可以看到我和其他响应者已将其删除。