(Selenium,Python)连接URL+CSV数据,然后在新选项卡中打开每个URL



我想从CSV文件中读取一个字符串列表,并将该字符串与URL连接,然后在每个选项卡中单独打开这个完整的URL列表。到目前为止,我可以做非此即彼。我可以从CSV文件中读取数据,并在每个选项卡中打开数据,或者将URL+数据连接起来,并使其在同一选项卡中循环。

我希望使用CSV数据串(77777777(并将其连接到URL";http://example.com/q="导致";http://example.com/q=7777777"然后,这些数据被传递到Selenium上,CSV文件中的每一行都在其自己的选项卡中打开

我可以使用+手动连接URL,但无法使用+变量连接,并且尝试了很多方法,但可能在某个地方出现语法错误。

这就是我到目前为止所做的工作,我觉得.format(url + upc))应该在工作

如果数据在CSV中被格式化为URLS,则经过轻微编辑的代码版本将在各个选项卡中打开所有CSV数据,但当前CSV仅由UPC编号组成,并且需要追加。

预期的结果是Selenium使用以下URL 打开3个选项卡

https://www.example.com/q=7777777
https://www.example.com/q=8888888
https://www.example.com/q=9999999

test.csv

UPC
7777777
8888888
9999999

from selenium import webdriver
import pandas as pd
PATH = "./chromedriver"
driver = webdriver.Chrome(PATH)
df = pd.read_csv('test.csv')
upc = df['UPC']
urls = "https://www.example.com/q="
for url in urls:
driver.execute_script('window.open("{}", "_blank",);'.format(url + upc))
driver.close()

我可以使用+'str'附加url,但不确定如何使用变量,循环的顺序可能不正确。如果你能建议,谢谢

我尝试了以下操作,但得到错误

TypeError:只能将str(而不是"int"(连接到str

urls = df['UPC']
link = "https://www.example.com/"

for url in urls:
driver.execute_script('window.open("{}", "_blank",);'.format(link + url))
for url in urls:
driver.execute_script('window.open("{}", "_blank",);'.format(link + str(url)))
driver.close()

我一发布问题就收到了,我需要一只鸭子,看起来是

最新更新