pythonでスクリプトを書いて、400-500行のテキストをあるブラウザから別のブラウザに抽出して貼り付けました。私はsend_keys()
を使ってテキストコンテンツをテキストエリアに入れています。これは、行ごとに書かれています(2行/秒)。その結果、操作が完了するまでに数分かかります。 Seleniumには、(1秒で手作業で貼り付ける方法のように)速く書く方法がありますか?Python/Selenium:ブラウザで高速にペーストしてください
私のコード
<code>
import time
import re
import csv
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
from selenium.common.exceptions import ElementNotVisibleException
from selenium.webdriver.common.keys import Keys
def init_driver(uname,pwd):
driver = webdriver.Chrome()
driver.wait = WebDriverWait(driver, 5)
driver.get("https://ops.stg1.xxxxxyyyxxxx.com/login.jsp")
box = driver.wait.until(EC.presence_of_element_located((By.NAME, "j_username")))
box.send_keys(uname)
box = driver.wait.until(EC.presence_of_element_located((By.NAME, "j_password")))
box.send_keys(pwd)
button = driver.wait.until(EC.element_to_be_clickable((By.NAME, "login")))
button.click()
return driver
def copy():
with open("Tag_input.txt") as f:
for line in f:
url = line.strip()
driver.get(url)
k=re.findall('\=(\d+)',url)
print(k[0])
a=k[0]
driver.wait = WebDriverWait(driver, 10)
time.sleep(10)
PC = driver.find_elements_by_xpath("//textarea[@name='messagingMap.PRIMARY_CONTENT.message']")
PC.send_keys(Keys.CONTROL, "a")
PC.send_keys(Keys.CONTROL, "c")
print("Copied Primary content !!")
for tag in PC:
varPC = tag.text
url1 = "http://jona.ca/blog/unclosed-tag-finder"
driver.get(url1)
driver.wait = WebDriverWait(driver, 10)
time.sleep(10)
text_area = driver.find_element_by_id("unclosed-tag-finder-input")
text_area.send_keys(Keys.CONTROL, "v")
button = driver.find_element_by_xpath("//input[@value='Submit']")
button.click()
result = driver.find_element_by_xpath("//pre[@id='unclosed-tag-finder-results']")
res_list = list(result)
print(res_list)
op = result.text
print(op)
writer = csv.writer(open('Tag_OP.csv','a+'))
z = zip(k,result)
print(z)
writer.writerows(k)
writer.writerows(result)
k = k.pop()
print("List cleared",k[0])
driver.wait = WebDriverWait(driver, 10)
time.sleep(10)
return driver
if __name__ == "__main__":
driver = init_driver("[email protected]","xxyyxx")
copy()
time.sleep(25)
driver.quit()
</code>
uが呼ばれ、いくつかの研究を行なったし、この(Keys.CONTROL、「C」)を見つけ、質問を調査したが、それは私のために仕事をdidntの.. – Abdul
ok ...どうしたのですか?あなたが私たちにもっと情報を与えない限り、私たちはあなたを助けることはできません。 –
私は(Keys.CONTROL、 "c")を使用するとインデントエラーが表示されています。Windows 7 ProfessionalでPython 3.5バージョンを使用しています。 – Abdul