Я пытаюсь сделать простой парсинг. Идея проста: он переходит на страницу поиска электронной коммерции, нажимает на продукт, переходит на страницу продукта, собирает информацию и возвращается на страницу поиска, чтобы нажать на следующий продукт и так далее. Но он застревает при попытке найти следующую кнопку для нумерации страниц. Вот код:
Я пробовал использовать видимость и присутствие, я указал этот длинный XPATH, чтобы избежать двусмысленности, но ничего не помогло. Что в этом плохого?
Пытаемся избежать ошибок исключений по тайм-ауту.
Я пытаюсь сделать простой парсинг. Идея проста: он переходит на страницу поиска электронной коммерции, нажимает на продукт, переходит на страницу продукта, собирает информацию и возвращается на страницу поиска, чтобы нажать на следующий продукт и так далее. Но он застревает при попытке найти следующую кнопку для нумерации страниц. Вот код: [code] def common_extraction(): spreadsheet_data = [] pdf_data = [] sizes = [] currency_exchange() # Assuming this function is already defined url_line = "https://www.scottsmenswear.com/searchresults?descriptionfilter=adidas#dcp=1&dppp=60&OrderBy=rank&Filter=1199_4098646%5EJoggers" page = 0 i = 0 x = 0 df_spreadsheet = pd.DataFrame(columns=SPREADSHEET_COLUMNS) pdf = FPDF() pdf.add_page() pdf.set_font('Arial', 'B', 12) driver.get(url_line) WebDriverWait(driver, 100).until(EC.element_to_be_clickable((By.ID, "onetrust-accept-btn-handler"))).click()
if size_list: driver.execute_script("arguments[0].scrollIntoView();", size_list) for size in size_list.find_elements(By.XPATH, "//li[@id = 'liItem']"): product_size = size.text sizes.append(product_size) if "-" in size.text: product_size = size.text.split('-')[0] sizes.append(product_size) elif "(" in size.text: product_size = size.text.split('(')[0] sizes.append(product_size) else: product_size = "" sizes.append(product_size) print(sizes) print("calculate price:") price_in_reais = calculate_price_in_reais(product_price) # Function needs to be defined selling_price = calculate_selling_price(product_price) # Function needs to be defined
if next_button: driver.execute_script("arguments[0].scrollIntoView();", next_button) driver.execute_script("arguments[0].click();", next_button) print("clicked") x += 1 print(f"Page {x} processed.") time.sleep(5) else: print("'Next' button not found. Finishing.") break except TimeoutException: print("Timeout waiting for 'Next' button. Finishing.") break
pdf.output('catalog.pdf', "F")
df_spreadsheet = pd.DataFrame(spreadsheet_data) df_spreadsheet.to_excel("catalog.xlsx") [/code] в этой строке ВСЕГДА возникает исключение TimeoutException: [code]proximo_botao = WebDriverWait(driver, 500).until( EC.element_to_be_clickable((By.XPATH, "//div[@id = 'divPagination']//a[@class = 'swipeNextClick NextLink ']")) ) [/code] Я пробовал использовать видимость и присутствие, я указал этот длинный XPATH, чтобы избежать двусмысленности, но ничего не помогло. Что в этом плохого? Пытаемся избежать ошибок исключений по тайм-ауту.
Я тестирую приложение с помощью детоксикации, которое отображает веб-представление, но не может нажать кнопку, которая появляется после нажатия ссылки.
Моя последовательность действий выглядит следующим образом: p>
И я пытаюсь «подождать», пока этот элемент отобразит
, используя код ниже
sb.wait_for_element_present( //*[/html/body/form/div /div/div /div/div /div /div/div /table/tbody/tr /th...
Я пытаюсь интегрировать Callkit в приложение Flutter, которое использует webRTC для вызовов, и у меня возникла проблема с приемом вызовов на заблокированном экране.
CXAnswerCallAction требует, чтобы метод action.fulfill() вызывался после...
У меня есть свойство isLoaded в объектном документе. Документ хранит информацию о конкретном проекте. Когда я открываю проект, код загружает документ и устанавливает для свойства isLoaded значение true.
У меня есть список dict, который имеет согласованную структуру, где каждый dict имеет список целых чисел . Однако мне нужно убедиться, что каждый dict имеет размер в байтах (при преобразовании в строку JSON) меньше указанного порога.