我正试图从一个网站上抓取数据,有一个url可以让我进入一个特定的页面,我们有一些项目的链接,如果我点击这些链接,它会在一个新的选项卡中打开,我可以从那里提取数据,
但是在提取数据之后,我想关闭选项卡返回主页并单击另一个链接。
我正在使用selenium和chrome web驱动程序。我尝试了以下代码:
#links which lands me to a new tab
browser.find_element_by_xpath('//*[@id="data"]/div[1]/div[2]/a').click()
browser.switch_to.window(browser.window_handles[0])
browser.close() #it closes the main page, not the new tab I want
and following code,
browser.find_element_by_css_selector('body').send_keys(Keys.CONTROL + 'w') #this code didn't work.
如何关闭使用硒和python新建的标签?
你可以试试这个解决方案。
# New tabs will be the last object in window_handles
driver.switch_to.window(driver.window_handles[-1])
# close the tab
driver.close()
# switch to the main window
driver.switch_to.window(driver.window_handles[0])
参考:http://antlong.com/common-operations-working-with-tabs-in-webdriver/
Selenium 2:打开新选项卡中的链接并关闭选项卡 但是它打开了一个窗口而不是一个标签,我无法控制延迟。我用的是硒3。使用带有JAVA的Selenium WebDriver,我试图自动化一个功能,我必须打开一个新的选项卡,在那里执行一些操作,然后回到以前的选项卡(父选项卡)。用firefox做这件事最好的方法是什么?
我正在尝试使用Selenium进行web抓取,我打开了一些选项卡以获取一些信息,但希望关闭这些选项卡。如果我不这样做,我会在代码运行完成时打开很多选项卡。我尝试切换到要关闭的选项卡,然后尝试通过执行以下操作关闭它: 当我运行程序时,标签保持打开状态,URL通常在哪里,上面写着“about:blank”。是否有一种方法可以完全关闭此选项卡,同时保持所有其他选项卡处于打开状态?下面是完整的代码供参考。
我正在尝试使用 启动 的会话 我一直收到这个错误: (未知错误:DevToolsActivePort文件不存在)(从chrome位置/usr/lib/chrumbrowser/chrum浏览器启动的进程不再运行,因此ChromeDriver假设chrome已崩溃。)(驱动程序信息:ChromeDriver=71.0.3578.98,平台=Linux 4.15.0-45-generic x86_64
我正在编写一个与我们的一个系统交互的硒脚本。在我们的系统中,有一个按钮,当按下时,它只能正确加载页面大约一半的时间(它只是在每隔一个场合加载无限长的时间),因此我不能依赖默认的硒等待页面加载。因此,我想按下按钮,并在打开新窗口之前立即关闭Web浏览器以继续执行脚本。不幸的是,我无法解决按钮本身的问题。 我目前的代码: 目前,System.out不太可能达到,因为一旦action.perform()
我有一个Selenium项目,在本地机器上运行良好,但在Hudson运行时出现问题。问题是它不会在每次测试结束时关闭打开的驱动程序。 先决条件:此项目由Hudson在Selenium网格服务器上运行。(我也在Selenium网格服务器上的本地机器上运行了它,问题没有发生) 所以,我有一个由每个测试类实现的BeforeAndAfter类。 在BeforeAndAfter中,我有一个@BeforeCl
我试图在Chrome浏览器上执行Selenium测试用例。当我在Chrome上运行测试用例时,Chrome浏览器打开(在后台),测试用例按预期运行。问题是,在运行测试用例时,Chrome浏览器不会显示为活动窗口,下面是我在控制台中获得的文本: 使用的版本:Chrome浏览器:51.0.2704.103,ChromeDriver:2.22,Selenium独立服务器:2.53.0,IDE:Mac上的