gpt4 book ai didi

python - 使用 python/Selenium 发出单击 Javascript 按钮的问题

转载 作者:太空狗 更新时间:2023-10-30 00:52:47 26 4
gpt4 key购买 nike

我正在尝试单击以下链接中标有“Pickup”的按钮:

https://firehouse.alohaorderonline.com/StartOrder.aspx?SelectMenuType=Retail&SelectMenu=1000560&SelectSite=01291

我的代码在下面,但在失败并出现错误之前什么都不做

element not interactable

pickupurl = 'https://firehouse.alohaorderonline.com/StartOrder.aspx?SelectMenuType=Retail&SelectMenu=1000560&SelectSite=1291'

driver = webdriver.Chrome('d:\\chromedriver\\chromedriver.exe')
driver.implicitly_wait(80)
driver.get(pickupurl)



button = driver.find_elements_by_xpath('//*[@id="ctl00_ctl00_PickupButton"]')
button.click()

当我打印“按钮”时,代码似乎定位了一个元素,我得到了一个元素对象。

我试过使用 driver.execute_script 来执行 onclick= 属性,但这也没有任何作用。

感谢任何帮助。

最佳答案

使用 WebDriverWaitexpected_conditions是个好习惯!

参见 explicit-waits .

这对我有用:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

pickupurl = 'https://firehouse.alohaorderonline.com/StartOrder.aspx?SelectMenuType=Retail&SelectMenu=1000560&SelectSite=1291'
driver = webdriver.Chrome('d:\\chromedriver\\chromedriver.exe')
driver.get(pickupurl)
wait = WebDriverWait(driver, 10)
pickup_button = wait.until(EC.element_to_be_clickable((By.XPATH, "//div[@id='btnPickupDiv']/div[@class='Button']")))

pickup_button.click()
loacter = wait.until(EC.presence_of_element_located((By.CLASS_NAME, "AddressZipLabelDiv")))
driver.quit()

您可能与 find_elements_by_xpath 有关的问题您应该使用 find_element_by_xpath 而没有 s...

关于python - 使用 python/Selenium 发出单击 Javascript 按钮的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53989420/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com