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"
感谢
答
其实我发现我的问题。
不显示整个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"
问候,
的元素出现在没有萤火虫的DOM,所以你不需要把它列入。您可能需要等待几秒钟才能显示该元素。 – Blender 2013-04-24 02:08:25