2012-06-20 4 views
0

Я пишу скрипт на python, используя веб-селен selenium chrome, и я хочу щелкнуть ссылку. Сама ссылка:используя селен, чтобы щелкнуть ссылку, скрытую по содержимому, с помощью selenium xpath

A HREF = "JavaScript: contentReplace ('/ CGI-BIN/SSOL/9PGaiwzaxu43ZaLXZ8mAix/р% .5Fr% .5Fid = a5UAMSbnZrZMIowCvr5gzh & р% .5Ft% .5Fid = 1 & тран% .5B1% .5D% .5Fentry = студент & тран% .5B1% .5D% .5Ftran% .5Fname = Sreg ') "> Регистрация/а>

(я снял открытие < элементов линии так чтобы иметь возможность отображать код, а не текст, в браузере)

Я не смог найти его, используя find_element_by_link_text - он все время выдавал ошибку - поэтому я попытался использовать xpath. Я использовал firebug для получения xpath, и это: «/ html/body/table/tbody/tr [2]/td [2]/table/tbody/tr [2]/td/ul/li/ul/li [10]/а "

Но когда я ссылку = driver.find_element_by_xpath (" // HTML/тело/таблица/TBODY/тр [2]/тд [2]/та \ BLE/TBODY/тр [2]/тд/мкл/литий/мкл/литий [10]/а ")

я получаю ошибку "urlopen ошибки [Errno 61] Соединение отклонено"

Не уверен, что это неправильно, так как xpath работает в firebug.

ответ

0

Попробуйте

driver.find_element_by_link_text("Registration").click() 

Почему вы не можете записать скрипт в Selenium IDE? Он напрямую передаст ссылку xpath на ссылку, когда вы нажмете на нее.

Если вы хотите, пожалуйста, напишите ссылку на веб-страницу, где вы нажимаете на это link. Так что будет легко дать ответ.

+0

Я только что записал сценарий в Selenium IDE, и он отлично работает - проблема в том, что даже с помощью xpaths, которые он мне дает, мой скрипт python по-прежнему получает упомянутую выше ошибку. Например, ide дает мне: // table [@ id = 'MainMenu']/tbody/tr [2]/td/ul/li/ul/li [10]/a как xpath, поэтому у меня есть написанное link = driver.find_element_by_xpath ("// table [@ id = 'MainMenu']/tbody/tr [2]/td \ /ul/li/ul/li [10]/a"), но он говорит о соединении отказалась. Я бы разместил ссылку на веб-страницу, но это безопасная страница, для которой требуется информация для входа. – user1136497