程序的工作方式如下:
我遇到的问题是3发生得太快,程序无法找到该元素。我认为我需要放置一个延迟或3中的某个内容,以便在找到该元素时激活4。如果有帮助,我也会使用硒。
我无法尝试任何事情,因为我不知道该做什么,因为我对此很陌生。
代码如下:
atc = browser.find_element_by_name('commit')
atc.click()
checkout = browser.find_element_by_link_text('checkout now')
checkout.click()
答案 0 :(得分:1)
在此已多次询问并回答。你可以做
import time
time.sleep(5) # Delays for 5 seconds.
答案 1 :(得分:0)
也许您可以使用Time
(https://docs.python.org/2/library/time.html)库:
import time
atc = browser.find_element_by_name('commit')
atc.click()
time.sleep(5)
checkout = browser.find_element_by_link_text('checkout now')
checkout.click()
这在步骤3和4之间施加了5毫秒的延迟。
答案 2 :(得分:0)
您的问题:
“我认为我需要在3中添加一个延迟或某种东西,以便在找到该元素时激活4。”
我认为正确的选择是第二个选择:“或某物”。您应该学习如何等待元素,并引用Selenium Wait docs:
如果DOM中尚不存在某个元素,则定位函数将引发ElementNotVisibleException异常。使用等待,我们可以解决此问题。等待使执行的动作之间有些松懈-主要是定位元素或对该元素进行的任何其他操作。