0

我什至不确定这是否可以解决我的问题,但我们开始吧。

所以我试图在网页上找到一个链接。问题是网页似乎正在执行 javascript 以获得实际的 html 代码。现在这是我不确定它真正属于哪个类别的东西。

我知道浏览器的源代码通常会在打开 javascript 后向您显示所有内容,但对于本网站,源代码不会显示任何网站内容。现在,查看站点内容的唯一方法是使用 firebug。

我想通过使用带有 selenium 的 firebug 如下,然后我将能够使用 xpath 或其他东西,但要么我不明白使用带有 selenium 的 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"

谢谢

4

1 回答 1

0

其实我发现了我的问题。

没有显示整个 html 代码的问题是由于没有关注正确的 iframe

我所要做的就是通过以下切换到正确的“iframe”

browser.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"

问候,

于 2013-04-28T01:10:15.910 回答