Python与硒2和萤火虫扩展

问题描述:

我甚至不知道如果这是我的问题的解决方案,但我们在这里。Python与硒2和萤火虫扩展

所以我试图找到一个网页上的链接。事情是网页似乎正在执行一个JavaScript,以获得实际的HTML代码。现在这里是我不确定它真的会落在哪一类的东西。

据我所知,浏览器的源代码通常会在展开JavaScript后显示所有内容,但对于本网站而言,源代码不显示任何网站内容。现在看看网站内容的唯一方法是使用萤火虫。

我认为通过使用硒与萤火虫如下,然后我将能够使用xpath或东西,但要么我不明白背后用硒萤火虫或我用它都错了。

有人可以帮忙吗?我一直在努力研究这个。 BTW它是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,所以你不需要把它列入。您可能需要等待几秒钟才能显示该元素。 – Blender 2013-04-24 02:08:25

其实我发现我的问题。

不显示整个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" 

问候,