在 Selenium/Python 上单击按钮

问题描述 投票:0回答:1

我目前正在尝试构建一个自动化,需要从弹出屏幕中选择一个按钮,但我没有成功。有两个按钮,我想选择的一个是“保存”部分。目前按钮的代码如下所示:

<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]))
python selenium-webdriver
1个回答
0
投票

是否是因为弹出窗口中存在iframe,在使用selenium时,通常会出现因为iframe的存在而无法操作元素的情况。 或者您可以尝试使用 span 元素的文本属性来定位按钮,该按钮通常也是可点击的。

driver.find_element(By.XPATH,"//button[@class='btn btn-strong')]/span[text()='Save']").click()
© www.soinside.com 2019 - 2024. All rights reserved.