加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python – Selenium:提交表单而不打开新选项卡或新窗口

发布时间:2020-12-20 11:36:43 所属栏目:Python 来源:网络整理
导读:我有 : driver = webdriver.Firefox() 我有一些网址:driver.get(url) 我有一个我要提交的表格: elt = driver.find_element_by_class_name('special_class')driver.find_element_by_xpath('//button').click() 这将打开一个新窗口,我希望一切都在一个窗口
我有 :

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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读