Есть ли способ зацикливания данных MySQL и выполнить его - PullRequest
0 голосов
/ 12 июня 2019

когда я пытаюсь выполнить, сначала выполняется только один цикл, но не выполняется в браузере веб-драйвера Есть ли способ перебрать и выполнить все данные из базы данных MySQL в Python?

import sys
import time
from selenium import webdriver
import mysql.connector
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

koneksi=mysql.connector.connect(host='192.168.100.9',user='streamga',password='ownerpp170896',db='theprimebot',port='3306')
config=koneksi.cursor()

config.execute("select * from data_user")
rows=config.fetchall()

for r in rows :
    phonenum={r[0]}
    passwordStr={r[1]}

#i want to make every looping inserted to here
browser = webdriver.Firefox()
browser.get(("http://192.168.100.9/pytontest"))
phone = browser.find_element_by_id('popupPhone')
phone.send_keys(phonenum)
pass_login = browser.find_element_by_id('popupPassword')
pass_login.send_keys(passwordStr)
loginbutton = browser.find_element_by_id('popupLoginBtn')
loginbutton.click()
time.sleep(5)

1 Ответ

0 голосов
/ 12 июня 2019

Поскольку трассировка недоступна, вот несколько советов, которые вы можете сослаться на

  1. , убедитесь, что установлен веб-драйвер firefox

  2. входы должны быть не наборами (не как {...}), а строкой

  3. логика селена должна быть частью цикла

  4. закройте браузер в конце каждого цикла, если применимо

for r in rows :
    phonenum=r[0]
    passwordStr=r[1]
    browser = webdriver.Firefox("/path/to/webdriver")
    browser.get(("http://192.168.100.9/pytontest"))
    phone = browser.find_element_by_id('popupPhone')
    phone.send_keys(phonenum)
    pass_login = browser.find_element_by_id('popupPassword')
    pass_login.send_keys(passwordStr)
    loginbutton = browser.find_element_by_id('popupLoginBtn')
    loginbutton.click()
    browser.quit()
    time.sleep(5)
...