【发布时间】:2018-12-18 17:06:13
【问题描述】:
我目前点击一个按钮进入一个新窗口:
browser.execute_script("arguments[0].value = 'test';", browser.find_element_by_xpath('//*[@id="email-signup-email-address"]'))
input_button = browser.find_element_by_xpath('//*[@id="submittracking"]')
browser.execute_script('arguments[0].target="_blank";', input_button.find_element_by_xpath('./ancestor::form'))
browser.execute_script('arguments[0].click();', input_button)
但在询问browser.page_source之前必须time.sleep(10) 否则页面无法完全加载
其他文章/帖子建议使用 seleniums explicit wait 但这要求提供一个等待的元素,例如 visibilityOfAllElements() 或某些特定元素。我想获得 ALL page_source 并且不想识别任何元素。
如何让browser.page_source 正常工作(不点击新窗口时)?
【问题讨论】:
-
你可以等到状态完成,看这个stackoverflow.com/questions/5868439/…
-
你的意思是,readyState?我可能会进一步调查。好奇它是否内置了超时。而且链接主要是Java