2017-03-11 57 views
0

發送密鑰在mac os x上不起作用,或者我做錯了什麼。也許我正在引用錯誤的鍵。Selenium發送密鑰不起作用

我試圖點擊每個鏈接在新標籤

任何建議打開?

Main.py

from selenium import webdriver 
from selenium.webdriver.common.keys import Keys 



driver = webdriver.Chrome() 
driver.get('https://orlando.craigslist.org/search/cta') 

owl = driver.find_element_by_xpath('//*[@id="sortable-results"]/ul/li/p/a') 
res = 1 
size = len(driver.find_elements_by_xpath('//*[@id="sortable-results"]/ul/li/p/a')) 

def run(): 
    for i in range(0, size): 
     owl = driver.find_elements_by_xpath('//*[@id="sortable-results"]/ul/li/p/a') 
     owl[i].click().send_keys(Keys.COMMAND + 't') 
     driver.find_element_by_xpath('/html/body/section/header/nav/ul/li[3]/p/a').click() 
     if i == 1: 
      break 


if __name__ == '__main__': 
    run() 

以下是錯誤

Traceback (most recent call last): 
    File "main.py", line 24, in <module> 
    run() 
    File "main.py", line 17, in run 
    owl[i].click().send_keys(Keys.COMMAND + 't') 
AttributeError: 'NoneType' object has no attribute 'send_keys' 

回答

0

基於使用硒的webdriver在.NET中,。點擊()不返回元素我的經驗。它什麼都不返回。它會導致一個元素被點擊,在這種情況下會導致在當前的驅動程序實例中加載新的頁面。我認爲這是發生在這裏的事情。

我建議作爲一種替代,你應該收集所有的「href」在所有這些<一個屬性>數組中的元素,然後打開一個新的標籤爲每個在這裏how to open a link in new tab (chrome) using selenium webdriver?使用應答切換到新的選項卡。一旦你打開一個新標籤並切換到它,使用driver.get()來加載頁面。