Итак, есть счета, которые мне нужно выставить.
Сначала я нажимаю на флажок, чтобы выбрать все счета на текущей странице. Затем я нажимаю кнопку выпуска и, наконец, одобряю их выпуск.
Как только текущие счета выставлены, те на следующей странице появляются автоматически.
Я хочу повторить тот же процесс для следующих, но я не могу нажать на флажок, как в первый раз. Ничего не происходит, это не дает никакой ошибки. Просто ничего не происходит.
Вот HTML
@ King11
time.sleep(8) --wait until invoice screen appears
driver.find_element_by_css_selector("i[class='ion-android-checkbox-outline-blank']").click() --selecting checkbox
driver.find_element_by_xpath("//button[contains(text(),'Sil')]").click() --clicking on the sent button
driver.find_element_by_xpath("//button[contains(text(),'Evet')]").click() --approve to sent
time.sleep(12) --wait till current invoices are sent and checkbox become re-eligible to select
driver.find_element_by_css_selector("i[class='ion-android-checkbox-outline-blank']").click() --select the check box second time. used javascript to eleminate GUI issues but it does not do clicking
Редактировать: я нашел решение, написав цикл, который обновляет браузер каждый раз, когда онвыставленные счета
def loopy(page_number):
while (page_number>0):
driver.refresh()
time.sleep(5)
element_1=driver.find_element_by_xpath("/html/body/app/main/app/div/div/e-arsiv/taslaklar/div[2]/div/div/div[3]/div/button")
driver.execute_script("arguments[0].click();", element_1)
element_2=driver.find_element_by_xpath("/html/body/app/main/app/div/div/e-arsiv/taslaklar/div[2]/div/div/div[3]/div/ul/button[7]")
driver.execute_script("arguments[0].click();", element_2)
driver.implicitly_wait(20)
driver.find_element_by_css_selector ("uc-quick-filter[titleshort='3A'][type='3M']").click()
driver.implicitly_wait(20)
element_4=driver.find_element_by_xpath("/html/body/app/main/app/div/div/e-arsiv/taslaklar/div[2]/div/div/div[4]/div[2]/ul/button[text()='e-Arşiv']")
driver.execute_script("arguments[0].click();", element_4)
wait = WebDriverWait(driver, 40)
temp = wait.until(EC.element_to_be_clickable((By.XPATH,"//e-arsiv/taslaklar/div[4]/div[3]/div/div/i")))
action= ActionChains(driver)
action.click(temp).perform()
element_5=driver.find_element_by_xpath("//button[contains(text(),'Sil')]")
driver.execute_script("arguments[0].click();", element_5)
element_6=driver.find_element_by_xpath("//button[contains(text(),'Evet')]")
driver.execute_script("arguments[0].click();", element_6)
driver.implicitly_wait(20)
service=driver.find_element_by_id('serviceLoading').get_attribute("style")
while (service=='display: none;'):
driver.refresh()
page_number=page_number-1
time.sleep(5)
break
else:
time.sleep(2)
service=driver.find_element_by_id('serviceLoading').get_attribute("style")