Python模式框元素

2024-04-25 06:09:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我对selenium有点陌生,我一直在尝试使用“立即购买”按钮自动化amazon购买,一切都很顺利,但当点击“立即购买”后模式框出现时,我似乎无法点击“下订单”按钮。我已经尝试通过id、xpath、css选择器获取元素,但仍然获取元素NotFoundException。我也尝试过切换窗口和框架,但没有效果

任何帮助都将不胜感激

多谢各位

以下是供参考的样本产品: https://www.amazon.ca/gp/product/B08QZDGDNH/ref=ox_sc_act_title_1?smid=A38TVE5WF50X65&psc=1


#btnPlaceOrder = browser.find_element_by_xpath('/html/body/div[4]/div[1]/div/div/div/div[2]/div/form/div/span/span/span/input')
#WebDriverWait(browser, 10).until(EC.element_to_be_clickable((By.XPATH, "//*[@id='turbo-checkout-pyo-button']"))).click()
#btnPlaceOrder = browser.find_element_by_xpath('//*[@id="turbo-checkout-pyo-button"]')

#switch to small frame
#window_after = browser.window_handles[0]
#browser.switch_to_window(window_after)
#browser.switch_to_window("CDwindow-881C8A0F3B4DA3AB683945CC21C9EB07")


Tags: todivbrowserid元素amazonbyelement
1条回答
网友
1楼 · 发布于 2024-04-25 06:09:22

没有注意到html中有一个iframe:

<iframe id="turbo-checkout-iframe" src="about:blank" scrolling="no" class="turbo-checkout-blank turbo-checkout-shown" style="height: 100%;"></iframe>

以下是成功的秘诀:

#switch to iframe container
browser.switch_to.frame("turbo-checkout-iframe")
#place order button     
btnPlaceOrder = browser.find_element_by_xpath('//*[@id="turbo-checkout-pyo-button"]').click()

相关问题 更多 >