2013-04-24 2 views
0

Я даже не уверен, что это решение моей проблемы, но здесь мы идем.Python с селеном 2 и расширением firebug

Так что я пытаюсь найти ссылку на веб-странице. Дело в том, что веб-страница, похоже, выполняет javascript, чтобы получить фактический html-код. Теперь вот что я не уверен, по какой категории он действительно упадет.

Я понимаю, что исходный код браузера обычно показывает вам все после разворачивания javascript, но для этого сайта исходный код не отображает содержимое сайта. Теперь единственный способ увидеть, что находится на контенте сайта, - использовать firebug.

Я думал, используя firebug с селеном, как показано ниже, тогда я смогу работать с xpath или что-то в этом роде, но я не понимаю, как использовать firebug с селеном, или я использую все это неправильно.

Может кто-то помочь, пожалуйста? Я с этим крутился. КСТАТИ это ASPX ссылка, если это делает разницу

from selenium.webdriver.common.keys import Keys 
fp = webdriver.FirefoxProfile() 
fp.add_extension(extension='firebug-1.11.2-fx.xpi') 
fp.set_preference("extensions.firebug.currentVersion", "1.11.2") 
browser = webdriver.Firefox(firefox_profile=fp) 
browser.get("Example.com/start.aspx") 
try: 
    #elem = browser.find_element_by_xpath("/html/body/div[2]/div[2]/table/tbody/tr/td[3]/a") 
    elem = browser.find_element_by_link_text("SEARCH") 
    elem.send_keys(Keys.RETURN) 

except NoSuchElementException: 
    assert 0, "can't find XPATH or Link Name" 

Благодарности

+1

элемент появляется в DOM без Firebug, так что вам не нужно, чтобы включить его. Возможно, вам придется подождать несколько секунд, пока элемент не появится. – Blender

ответ

0

На самом деле я нашел мою проблему.

вопрос, чтобы не показывать весь HTML код должен был не сосредотачиваясь на правой IFRAME

все, что я должен был сделать это с помощью следующих, чтобы перейти к правой «IFRAME»

браузера .switch_to_frame ("iframe")

Для этого также не нужно использовать расширение firebug.

Надеюсь, это поможет некоторым из вас столкнуться с подобной проблемой.

Полный код будет выглядеть так:

from selenium.webdriver.common.keys import Keys 
browser = webdriver.Firefox() 
browser.get("Example.com/start.aspx") 
try: 
    #elem = browser.find_element_by_xpath("/html/body/div[2]/div[2]/table/tbody/tr/td[3]/a") 

    browser.switch_to_frame("iframe") 
    elem = browser.find_element_by_link_text("SEARCH") 
    elem.send_keys(Keys.RETURN) 

except NoSuchElementException: 
    assert 0, "can't find XPATH or Link Name" 

С уважением,

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