Python中如何实现selenium的wait until功能
经过查阅文档,wait until 需要调用有 __call__ 方法的值。
我的情况是想检查 <div class='title'> piggy </div> 中的 piggy 是否出现。
读了 文档 之后,并没有发现哪个方法是检查内容的。
这个 title 不是网页的最高级别 title,只是页面中的一个 div,所以 title_is 和 title_contains 并不适用。
目前使用的办法是:
time_now = time.time()
while(time_now - time.time() < timeout_max):
title_find = browser.find_element_by_class_name('title')
if (title_find and title_find.text == 'piggy'):
break
else:
if (time_now - time.time() >= timeout_max):
Timeout
do something
求教:肯定有更工整的办法吧?
Python中如何实现selenium的wait until功能
谢谢两位,目标网页:[点击这里]( http://www.rdv-etrangers.meurthe-et-moselle.gouv.fr/eAppointment54-etrangers/appointment.do?preselectservice=SEJOUR)
我的代码WebDriverWait(browser, 5).until(EC.presence_of_element_located_value((By.CLASS_NAME, 'title'), 'Introduction'))
然而通过不了,所以我才用的主题里的笨办法……
(EC.text_to_be_present_in_element_value((By.CLASS_NAME, ‘title’), ‘Introduction’))
这个可以哈哈哈,我写错方法了……
现在在研究怎么替换这一句:
if (browser.find_element_by_xpath(’//*[title=“suivant”]’)):
用 By.XPATH, 并把 XPath 写为:
//div[@class=“title” and contains(text(), “piggy”)]
谢谢~~ 这个搞定了~
目前正在替换怎么检测是否存在某个 checkbox
原代码:if (browser.find_element_by_xpath("//input[value=‘75’]")):, 网页第二页
requests 是发 http 请求用的呀,压根不可能知道网页长什么样有什么东西啊。


