2016-05-06 4 views
0

Я хотел бы настроить Selenium, чтобы открыть список SharePoint 2013 и загрузить его (экспорт в excel). Я могу иметь щелчок селена в списке, чтобы показать возможность экспорта в Excel, но когда я использую xpath, чтобы щелкнуть «Экспорт в Excel», я получаю сообщение об ошибке: он не находит xpath. Любая идея почему?Selenium find_element_by_xpath не работает для SharePoint 2013

Html код кнопки:

<span unselectable="on" class="ms-cui-ctl-largelabel">Export to<br>Excel</span> 

Xpath является:

//*[@id="Ribbon.List.Actions.ExportToSpreadsheet-Medium"]/span[2] 

код и печать ниже.

Спасибо.

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

path_to_Ie = 'C:\\Python34\\IEDriver\\IEDriverServer.exe' # change path as needed 
browser = webdriver.Ie(executable_path = path_to_Ie) 
url = 'https://group.shareplace.test/sites/site2/Lists/Actions/AllItems.aspx' 
browser.get(url) 

time.sleep(2) 

browser.find_element_by_xpath("//*[@id='Ribbon.List-title']/a/span[1]").click() 

time.sleep(4) 


browser.find_element_by_xpath("//*[@id='Ribbon.List.Actions.ExportToSpreadsheet-Medium']/span[2]").click() 

enter image description here

+0

какая ошибка? Предоставьте код 'html' для кнопки« Экспорт в Excel » – Andersson

+0

Я обновил сообщение. Ошибка заключается в том, что can not find xpath. Спасибо. – Gonzalo

ответ

0

Try ниже код и дайте мне знать, если он не работает должным образом:

xpath = '//span[@class="ms-cui-ctl-largelabel"][contains(text(), "Export to")]' 
browser.find_element_by_xpath(xpath).click() 
+0

Большое спасибо. Работал. Просто короткий вопрос, он вызывает предупреждение IE, спрашивающее, хочу ли я открыть или сохранить файл. Может ли селен щелкнуть по SAVE? Я пытаюсь проанализировать HTML, но поскольку это всплывающее окно IE, я не уверен, как это сделать. Еще раз спасибо. – Gonzalo

+0

Я использовал browser.switch_to_alert(), чтобы выбрать диалоговое окно, но я не могу нажать сохранение. – Gonzalo

+0

'selenium' не смог обработать щелчок' Save', так как это всплывающее окно 'OS', но не веб-элемент. Если вы можете использовать «FireFox» вместо «IE», попробуйте настройки «FireFoxProfile». У меня такая же проблема http://stackoverflow.com/questions/33547712/how-to-download-file-using-selenium-and-ie-avoiding-download-prompt, и у нее все еще нет ответа ... – Andersson

Смежные вопросы