1
示例:要等待Selenium Python如何等待select中的选项被填充?
<select id="myselect"></select>
与
<option value="123">One-two-three</option>
我怎么能做到这一点在Python来填充?
示例:要等待Selenium Python如何等待select中的选项被填充?
<select id="myselect"></select>
与
<option value="123">One-two-three</option>
我怎么能做到这一点在Python来填充?
您可以使用presence_of_element_located
和explicit waiting用CSS选择器来定位元素:
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
try:
element = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, "option[value='123']"))
)
print("Option loaded")
except TimeoutException:
print("Time exceeded!")
# Do Your Stuff
感谢这么多的解决方案。在“最后”中,我打印出page_source,并且该页面是我想要的。但是,在打印出页面后,有一条错误消息: raise TimeoutException(message,screen,stacktrace) selenium.common.exceptions.TimeoutException:消息: –
@jhhPhi嘿,对不起,看起来像我误用'finally'语句,现在应该这样做。我很高兴它有帮助,而且,如果它有帮助并解决了您的问题,您应该[接受答案](https://meta.stackexchange.com/a/5235),点击upvotes旁边的绿色标记。 –
“超出时间”打印出来。这是不是意味着在特定时间内,该声明永远不会回复真实?因为它没有返回true,所以它捕获TimeoutException,然后继续执行代码。当代码循环10秒时,我的页面已经完全加载,所以我得到了我想要的页面。没有? –