我应该可以使用代码
在selenium中为python打开一个新选项卡from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://stackoverflow.com/")
body = driver.find_element_by_tag_name("body")
body.send_keys(Keys.COMMAND + 't')
但是没有打开新标签页,也没有显示错误消息(http://stackoverflow.com/确实加载)。
请注意,我正在使用Keys.COMMAND + 't'
因为我在OS X上运行代码。
我不知道导致此问题的原因是one这样的帖子,表明我的代码应该有效。
已更新以包含答案
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://stackoverflow.com/")
current_tab = driver.current_window_handle
driver.execute_script('window.open();')
new_tab = [tab for tab in driver.window_handles if tab != current_tab][0]
driver.switch_to.window(new_tab)
driver.get("http://github.com")
inputElement = driver.find_element_by_id("user[login]")
inputElement.send_keys('1')
current_tab = driver.current_window_handle
driver.execute_script('window.open();')
new_tab = [tab for tab in driver.window_handles if tab != current_tab][0]
driver.switch_to.window(new_tab)
driver.get("http://github.com")
inputElement = driver.find_element_by_id("user[email]")
inputElement.send_keys('2')
答案 0 :(得分:1)
尝试使用以下代码打开新标签并切换到该标签:
driver = webdriver.Firefox()
driver.get("http://stackoverflow.com/")
current_tab = driver.current_window_handle
driver.execute_script('window.open("http://github.com");')
new_tab = [tab for tab in driver.window_handles if tab != current_tab][0]
driver.switch_to.window(new_tab)
inputElement = driver.find_element_by_id("user[login]")
inputElement.send_keys('1')
driver.execute_script('window.open("http://github.com");')
third_tab = [tab for tab in driver.window_handles if tab not in (current_tab, new_tab)][0]
driver.switch_to.window(third_tab)
inputElement = driver.find_element_by_id("user[email]")
inputElement.send_keys('2')
您可以使用driver.close()
关闭新标签,driver.switch_to.window(current_tab)
切换回初始标签
另请注意,您可以将要在新标签页中打开的页面URL
作为window.open()
的参数传递,如:
driver.execute_script('window.open("https://google.com");')
答案 1 :(得分:0)
尝试以下代码在MAC中打开新标签:-
chrome_print(input = "https://www.polkpa.org/LegalDesc.aspx?strap=272735000000032000", wait = 30, format = "png", timeout = 60, output = paste("272735000000032000","_LegalDesc.png", sep = ""))