我最近对硒有麻烦。 我正在尝试从
获取所有URL。并在新标签上打开它。
我正在尝试使用以下代码:
import selenium, os
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://cimex.co/resources.html')
links = browser.find_elements_by_css_selector('a[href^="https"]')
links[0].click()
虽然我面临另一个问题,但它是否有可能检测到Firefox运行,只是在新标签页中打开URL,而不是将Firefox作为新应用打开。
谢谢。 对不起,我的英语不好。
答案 0 :(得分:1)
我已经必须这样做,它是与ChromeDriver一起使用的,我不能说它是否可以与Firefox一起使用,但这是代码:
def Browser(object):
def __init__(self):
self.driver = webdriver.Chrome(driver_path)
self._tabs = {'default': self.driver.window_handles[0]}
def new_tab(self, name):
'''
Create new tab `name`.
name New tab name
'''
self.driver.find_element_by_tag_name('body').send_keys(Keys.CONTROL + 't')
self._tabs[name] = self.driver.window_handles[-1]
def switch_tab(self, name):
'''
Switch to given tab.
name Tab name to switch
'''
self.driver.switch_to_window(self._tabs[name])
browser = Browser()
browser.driver.get('http://cimex.co/resources.html')
links = browser.driver.find_elements_by_css_selector('a[href^="https"]')
url = links[0].get_attribute('href')
# open new tab
browser.new_tab(url, 'tab-name')
# switch to new tab
browser.switch_tab('tab-name')
# back to default tab
browser.switch_tab('default')
答案 1 :(得分:0)
您可以尝试以下代码:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.action_chains import ActionChains
browser = webdriver.Firefox(executable_path = r'D:/Automation/geckodriver.exe')
browser.get("http://cimex.co/resources.html")
wait = WebDriverWait(browser, 30)
main_tab = browser.current_window_handle
print(main_tab)
links = browser.find_elements_by_tag_name('a')
size = len(links)
print ('this the length of list:',size)
i = 0
while i<size:
ActionChains(browser).key_down(Keys.CONTROL).click(links[i]).key_up(Keys.CONTROL).perform()
browser.switch_to_window(main_tab)
i=i+1;
if i >= size:
break
print(" here you quit the driver as per your wish")
答案 2 :(得分:-1)
从硒导入网络驱动程序
browser = webdriver.Firefox(gecko driver location)
browser.get('http://cimex.co/resources.html')
links = browser.find_elements_by_css_selector('a[href^="https"]')
for link in links:
link.click()