为什么在打印随机镀铬配置文件时才启动相同的镀铬配置文件?
我有一个文本文件:
'--profile-directory=Person 1
'--profile-directory=Person 2
它会读取随机行并将其加载到Chrome中。为什么不起作用?
我已经包含了示例1,这是我遇到的问题:
示例1:
import random
import random
lines = open('C:\\Users\\Hoxton\\Pictures\\1\\ad.txt').read().splitlines()
myline =random.choice(lines)
print(myline)
Profiles = []
for x in (myline):
indexes = [index for index in range(len(myline))]
shuffle(indexes)
dataDir = "--user-data-dir=C:\\Users\\Hoxton\\AppData\\Local\Google\\Chrome\\User Data"
chrome_options1 = webdriver.ChromeOptions()
chrome_options1.add_argument(dataDir)
chrome_options1.add_argument(x)
driver = webdriver.Chrome(chrome_options=chrome_options1)
driver.get('https://www.google.com')
应该注意以下内容完美无缺 例2
foo = ['--profile-directory=Person 1', '--profile-directory=Person 2', '--profile-directory=Person 3', '--profile-directory=Person 4', '--profile-directory=Person 5']
from random import randrange
random_index = randrange(0,len(foo))
print(foo[random_index])
Profiles = []
for x in [foo[random_index]]:
indexes = [index for index in range(len(foo[random_index]))]
shuffle(indexes)
dataDir = "--user-data-dir=C:\\Users\\Hoxton\\AppData\\Local\Google\\Chrome\\User Data"
chrome_options1 = webdriver.ChromeOptions()
chrome_options1.add_argument(dataDir)
chrome_options1.add_argument(x)
driver = webdriver.Chrome(chrome_options=chrome_options1)
driver.get('https://www.google.com')
有人可以帮助我从记事本中读取示例吗?我无法在第一个例子中看到我在做什么。
答案 0 :(得分:0)
在示例1中。您正在迭代字符串。在示例2中,您将遍历列表。
试试这个可能证明问题的例子:
import random
lines = ['--profile-directory=Person 1', '--profile-directory=Person 2', '--profile-directory=Person 3', '--profile-directory=Person 4', '--profile-directory=Person 5']
# This returns a string.
myline = random.choice(lines)
# iterate over a string (x = string char).
for x in (myline):
print(x)
# iterate over a tuple (x = tuple item).
for x in (myline,):
print(x)
上面使用字符串和元组,尽管元组与示例2中使用的列表类似,使用[]
将foo[random_index]
括起来成为列表[foo[random_index]]
。
编辑:
根据评论的要求,我可能没有实际测试的环境。
import random
from selenium import webdriver
with open('C:\\Users\\Hoxton\\Pictures\\1\\ad.txt') as r:
lines = r.readlines()
myline = random.choice(lines).strip()
# Add string to a list.
if type(myline) is str:
myline = [myline]
# Display myline
print(repr(myline))
Profiles = [] # obsolete?
dataDir = "--user-data-dir=C:\\Users\\Hoxton\\AppData\\Local\Google\\Chrome\\User Data"
for x in myline:
indexes = [index for index in range(len(myline))]
random.shuffle(indexes)
chrome_options1 = webdriver.ChromeOptions()
chrome_options1.add_argument(dataDir)
chrome_options1.add_argument(x)
driver = webdriver.Chrome(chrome_options=chrome_options1)
driver.get('https://www.google.com')
编辑:如果由于某种原因从随机字符串更改为序列序列类型,则为myline添加类型str check。