因此,我需要开具发票。
首先,我单击复选框以选择当前页面上的所有发票。然后,我单击发布按钮,最后批准它们被发布。
发出当前发票后,下一页上的发票会自动出现。
我想对下一个重复相同的过程,但是我不能像第一次那样单击复选框。没有任何反应,它不会产生任何错误。只是什么也没有发生。
这是html
@ King11
a >= b
编辑:我找到了解决方案,方法是编写一个循环,使浏览器在每次发出发票时刷新一次
value > 123
答案 0 :(得分:0)
尝试使用ActionsChains
。首先,您必须使用以下行将其导入:
from selenium.webdriver.common.action_chains import ActionChains
time.sleep(8) --wait until invoice screen appears
WebElement temp = driver.findElement(By.cssSelector("i[class='ion-android-checkbox-outline-blank']"));
action=ActionChains(driver)
action.click(temp).preform(); --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
action.click(temp).preform();
希望这会有所帮助。
答案 1 :(得分:0)
请等待,直到复选框元素可单击,然后执行单击。
element = WebDriverWait(driver, 10).until(
driver.element_to_be_clickable((By.xpath, "//button[contains(text(),'Sil')]"));
element.click
)
没有其他原因可能导致失败。