https://www.solopress.com/business-cards/economy/
Использование Python Selenium.Я пытаюсь собрать данные о ценах в таблице ниже.До сих пор я работал над циклом выбора размера.но я не могу понять, как проходить через другие селекторы (печатные стороны и т. д.).Кажется, ничто не имеет уникального идентификатора.
Размер Xpath
//*[@id="options"]/div/a/span[2]
Печатные стороны Xpath
//*[@id="options"]/div/a/span[2]
Это код, который я использовал для циклического перебора размеровСелектор, который работает.
def nextSize():
global c
global tablecounter
global cellnum
c = 2
global dropdownSize
dropdownSize = driver.find_elements_by_xpath('//*[@id="options"]/div/div/ul/li/ul/li/div')
for i in dropdownSize:
driver.implicitly_wait(10)
time.sleep(5)
tableExtractor()
c = str(c)
driver.find_element_by_xpath('/html/body/div[2]/div[1]/div[1]/div[1]/div[2]/form/div[3]/div/a/span[3]/b').click()
time.sleep(5)
op = '//*[@id="options"]/div/div/ul/li/ul/li[%s]/div' % c
try:
getSize = driver.find_element_by_xpath(op)
sizeName = getSize.get_attribute('innerHTML')
sizeName = sizeName.lstrip()
sizeName = sizeName.rstrip()
print sizeName
ws.cell(row=cellnum,column=1).value = sizeName
ws.cell(row=cellnum,column=2).value = sideName
cellnum += 1
except:
break
try:
driver.find_element_by_xpath(op).click()
c = int(c)
c += 1
except:
driver.find_element_by_xpath('/html/body/div[2]/div[1]/div[1]/div[1]/div[2]/form/div[3]/div/a/span[3]/b').click()
break
nextSize()