我目前正在尝试构建一个自动化,需要从弹出屏幕中选择一个按钮,但我没有成功。有两个按钮,我想选择的一个是“保存”部分。目前按钮的代码如下所示:
<button type="submit" class="btn btn-secondary"><span>Cancel</span></button>
<button type="submit" class="btn btn-strong"><span>Save</span></button>
我已成功编写了部分自动化代码来单击按钮,但由于某种原因,它无法在此弹出屏幕按钮上运行。
到目前为止,我已经尝试了以下代码但没有成功,因为它只会使我的程序崩溃:
driver.find_element(By.XPATH,"//button[@class='btn btn-strong')]").click()
WebDriverWait(driver,10000).until(
EC.presence_of_element_located((By.XPATH,"//*[contains(@class,'btn btn-strong')]"))
).click()
这是我能够复制的 xpath 代码
//*[@id="main-content-body"]/div[1]/div[3]/div/div/div[3]/div[1]/section/div[2]/div[2]/button[2]
我尝试写出一个查询,但我不断收到错误
input_element = driver.find_element(By.XPATH,"//*[@id="main-content-body"]/div[1]/div[3]/div/div/div[3]/div[1]/section/div[2]/div[2]/button[2]))
是否是因为弹出窗口中存在iframe,在使用selenium时,通常会出现因为iframe的存在而无法操作元素的情况。 或者您可以尝试使用 span 元素的文本属性来定位按钮,该按钮通常也是可点击的。
driver.find_element(By.XPATH,"//button[@class='btn btn-strong')]/span[text()='Save']").click()