我有 :
driver = webdriver.Firefox()
我有一些网址:driver.get(url)
我有一个我要提交的表格:
elt = driver.find_element_by_class_name('special_class')
driver.find_element_by_xpath('//button').click()
这将打开一个新窗口,我希望一切都在一个窗口中发生.
我可能需要多次提交类似的东西,然后解析输出.
有没有办法留在同一个窗口?我不想打开很多窗户.
提前致谢.
最佳答案 如果按钮在表单提交后打开新窗口,我担心没有什么可以做的.我想到的只是使用像PhantomJS这样的无头浏览器 – 因为你正在进行网络爬行,你也可以欣赏速度.请参阅适用于Python的
this教程.
但实际上我记得有一个解决方法,你可以将Firefox browser.link.open_newwindow设置为1,这应该会导致每个新窗口在当前窗口中打开.但是我不确定这是否适用于HTML表单.
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.link.open_newwindow", 1)
browser = webdriver.Firefox(firefox_profile=fp)
请参阅此功能的参考资料here.