Сценарий Selenium Python, автоматически изменяющий путь изображения "D: /" на "D; /" - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть сценарий python selenium, который загружает изображения на страницу (берет имя изображения из таблицы Excel). Проблема связана с путями к изображениям.

Он принимает путь как - d; \ images \ one \ Должно быть - D: \ images \ one \

Скрипт отлично работает на windows 7, но не на windows 10. Не уверен, в чем причина вообще.

Вот сценарий.

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.webdriver import ActionChains
import autoit
import time
import os
import xlrd
ex_path = os.path.abspath('chromedriver.exe')
print(ex_path)
#executable_path=ex_path
d = webdriver.Chrome()
loc = "D:\\images\\one\\data.xls"

wb = xlrd.open_workbook(loc)
sheet = wb.sheet_by_index(0)
imgrow = 7
trow = 7
app = 'myshopify.com'
#add credentials here
email = ''
ps = ''
d.get('https://accounts.shopify.com/store-login')

d.find_element_by_id('shop_domain').send_keys(app)
time.sleep(1)
d.find_element_by_name('commit').click()
time.sleep(2)
d.find_element_by_id('account_email').send_keys(email)
time.sleep(3)
d.find_element_by_name('commit').click()
time.sleep(2)
d.find_element_by_id('account_password').send_keys(ps)
d.find_element_by_name('commit').click()
time.sleep(5)
d.get('https://website.com/admin/apps')

actions = ActionChains(d)
spocket = d.find_element_by_id('gid://shopify/App/2590691')
actions.key_down(Keys.CONTROL).click(spocket).key_up(Keys.CONTROL).perform()

time.sleep(30)

d.switch_to.window(d.window_handles[-1])
d.get('https://website.com/listings')

for x in range(29):
    tit = sheet.cell_value(trow,3)
    time.sleep(5)
    d.find_element_by_name('title').send_keys(tit)
    time.sleep(5)
    trow += 6
    time.sleep(5)
    txt = d.find_element_by_css_selector(".jodit_wysiwyg[spellcheck='true']")
    time.sleep(5)
    txt.send_keys(discription)
    s1 = Select(d.find_element_by_css_selector('select[name="listing_category_id"]'))
    s1.select_by_value('6e21076c-8b55-4992-81c3-66c52286225c')
    for tag in tags:
        inp = d.find_element_by_css_selector('input[aria-label="Add new tag"]')
        inp.send_keys(tag)
        inp.send_keys(Keys.ENTER)
    for x in range(6):
        img = sheet.cell_value(imgrow,2)
        #need to change folders when one is completed here
        path = "D:\\fiverr\\images\\one\\"+img
        d.find_element_by_class_name('add-img').click()
        time.sleep(1)
        autoit.win_active('Open')
        #here is the code which causes error, control_send messes the string, it sends ; instead of : in the image path
        autoit.control_send('Open','Edit1',path)
        time.sleep(1)
        autoit.control_send('Open','Edit1','{ENTER}')
        #you can make the uploading faster by changing value 10 here
        time.sleep(10)
        imgrow += 1
    d.find_element_by_css_selector('label[for="check-box-variants"]').click()
    s2 = Select(d.find_element_by_css_selector('select[class="form-control input-lg"]'))
    s2.select_by_value('Size')
    for size in sizes:
        add = d.find_element_by_css_selector('input[aria-label="Add new property"]')
        print("Entring Size : "+size)
        add.send_keys(size)
        add.send_keys(Keys.ENTER)
        time.sleep(2)
    find = d.find_elements_by_css_selector('select[class="form-control input-lg"]')
    s3 = Select(find[1])
    s3.select_by_value('Primary Colour')    
    for color in colors:
        tg = d.find_elements_by_css_selector('input[aria-label="Add new property"]')[1]
        tg.send_keys(color)
        tg.send_keys(Keys.ENTER)
    lst = d.find_elements_by_css_selector('span[role="button"]')
    inventory = lst[0]
    inventory.click()
    d.find_element_by_xpath('//*[@id="popover-trigger-click-root-close"]/div[2]/div/span/input').send_keys(10000)
    d.find_element_by_xpath('//*[@id="popover-trigger-click-root-close"]/div[2]/div/span/span/button').click()
    price = lst[1]
    price.click()
    d.find_element_by_xpath('//*[@id="popover-trigger-click-root-close"]/div[2]/div/span/div/input').send_keys('13.95')
    d.find_element_by_xpath('//*[@id="popover-trigger-click-root-close"]/div[2]/div/span/span/button').click()
    rp = lst[2]
    rp.click()
    time.sleep(0.3)
    d.find_element_by_xpath('//*[@id="popover-trigger-click-root-close"]/div[2]/div/span/div/input').send_keys('22.95')
    d.find_element_by_xpath('//*[@id="popover-trigger-click-root-close"]/div[2]/div/span/span/button').click()
    s4 = Select(d.find_element_by_name('processing_time'))
    s4.select_by_value('2-3')
    d.find_element_by_xpath('//*[@id="root"]/div/div[2]/div[4]/div/div[1]/div[2]/button').click()
    print(tit)
    time.sleep(5)
    d.get('https://website.com/listings')        

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...