我有这个代码,如果有时间点,它会点击它,如果它不存在,它就不会点击这些元素。它甚至不等一秒
time.sleep(2)
WebDriverWait(self.broswer, 30).until(EC.element_to_be_clickable((By.CLASS_NAME, 'something')))
self.browser.find_element_by_class_name('something').click()
我尝试使用以下代码
self.browser.implicitly_wait(2)
但它不等待,我不能使用time.sleep()
答案 0 :(得分:0)
Time.Sleep()
以毫秒为单位计算时间,因此Time.Sleep(2)为2毫秒,如果您尝试,可能
Time.Sleep(2000);
它可能适合你。
答案 1 :(得分:0)
time.sleep()
和WebDriverWait()
是不同的等待方法。最佳做法是避免使用time.sleep()
并更喜欢WebDriverWait
。
在另一条评论中你说你甚至不想等,你只想点击按钮。如果是这种情况,您应该可以使用此
self.browser.find_element_by_class_name('something').click()
但是你说你得到了一个错误。如果只运行那一行,会得到什么错误?
旁注...... WebDriverWait.until()应该返回指定的WebElement,所以如果你决定要保持等待,你可以这样做
WebDriverWait(self.broswer, 30).until(EC.element_to_be_clickable((By.CLASS_NAME, 'something'))).click()
我来自Java背景,不知道python所以我可能会在这里和那里发生一些错别字......但是这应该会让你走向正确的
答案 2 :(得分:-1)
time.sleep()有什么问题 如果您不想使用time.sleep(),但如果您想强制Web驱动程序等待特定时间,那么您也可以给出条件。
你可以通过以下url来获取java