Selenium New window 而不是 New Instance? CSV 的下一行?
Selenium New window instead of New Instance? Next row on CSV?
我试图将多个条目提交到 login/password 后面的网络表单中。数据来自 CSV。
在 Selenium (python) 中,当我的代码完成时它会循环返回,打开一个全新的 Chrome 具有新配置文件的实例,然后在进入下一行之前必须再次登录CSV 的。
我不想将我的密码存储在 python file/CSV 中,也不想通过在一分钟内登录 10-20 次来创建看起来很奇怪的流量。
有任何建议的代码可以在 Chrome 的同一个实例中打开一个新的 window/tab 并在不启动新实例的情况下将数据条目移动到 CSV 中的下一行吗?
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
import csv
PATH = "/usr/local/bin/chromedriver"
url = "https://123.com"
with open('test.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
for line in csv_reader:
web = webdriver.Chrome()
web.get(url)
time.sleep(1)
username = web.find_element(By.XPATH,"/html/body/app-root/div/app-login/mat-card/mat-card-content/form/div[1]/mat-form-field/div/div[1]/div/input")
username.send_keys('joe@smith.com')
companyaddressnum = web.find_element(By.XPATH,"/html/body/app-root/div/form/div[2]/mat-card[2]/mat-card-content/div[3]/mat-form-field[1]/div/div[1]/div/input")
companyaddressnum.send_keys(line[2])
您在循环中调用 web = webdriver.Chrome(),这就是它重复多次的原因。
检查此代码:
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
import csv
PATH = "/usr/local/bin/chromedriver"
url = "https://123.com"
web = webdriver.Chrome()
with open('test.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
for line in csv_reader:
web.get(url)
time.sleep(1)
username = web.find_element(By.XPATH,
"/html/body/app-root/div/app-login/mat-card/mat-card-content/form/div[1]/mat-form-field/div/div[1]/div/input")
username.send_keys('joe@smith.com')
companyaddressnum = web.find_element(By.XPATH,
"/html/body/app-root/div/form/div[2]/mat-card[2]/mat-card-content/div[3]/mat-form-field[1]/div/div[1]/div/input")
companyaddressnum.send_keys(line[2])
我试图将多个条目提交到 login/password 后面的网络表单中。数据来自 CSV。
在 Selenium (python) 中,当我的代码完成时它会循环返回,打开一个全新的 Chrome 具有新配置文件的实例,然后在进入下一行之前必须再次登录CSV 的。
我不想将我的密码存储在 python file/CSV 中,也不想通过在一分钟内登录 10-20 次来创建看起来很奇怪的流量。
有任何建议的代码可以在 Chrome 的同一个实例中打开一个新的 window/tab 并在不启动新实例的情况下将数据条目移动到 CSV 中的下一行吗?
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
import csv
PATH = "/usr/local/bin/chromedriver"
url = "https://123.com"
with open('test.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
for line in csv_reader:
web = webdriver.Chrome()
web.get(url)
time.sleep(1)
username = web.find_element(By.XPATH,"/html/body/app-root/div/app-login/mat-card/mat-card-content/form/div[1]/mat-form-field/div/div[1]/div/input")
username.send_keys('joe@smith.com')
companyaddressnum = web.find_element(By.XPATH,"/html/body/app-root/div/form/div[2]/mat-card[2]/mat-card-content/div[3]/mat-form-field[1]/div/div[1]/div/input")
companyaddressnum.send_keys(line[2])
您在循环中调用 web = webdriver.Chrome(),这就是它重复多次的原因。
检查此代码:
from selenium import webdriver
import time
from selenium.webdriver.common.by import By
import csv
PATH = "/usr/local/bin/chromedriver"
url = "https://123.com"
web = webdriver.Chrome()
with open('test.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
for line in csv_reader:
web.get(url)
time.sleep(1)
username = web.find_element(By.XPATH,
"/html/body/app-root/div/app-login/mat-card/mat-card-content/form/div[1]/mat-form-field/div/div[1]/div/input")
username.send_keys('joe@smith.com')
companyaddressnum = web.find_element(By.XPATH,
"/html/body/app-root/div/form/div[2]/mat-card[2]/mat-card-content/div[3]/mat-form-field[1]/div/div[1]/div/input")
companyaddressnum.send_keys(line[2])