我是Python和Selenium的新手,并试图用选举数据(https://historico.servel.cl/SitioHistorico/index2008_alca.htm,下图中的html代码(进行网络抓取页面。在此页面上,我需要使用 Selenium 进行导航,因为在菜单中选择项目时 url 不会更改。作为第一步,我需要选择左上角的"地理划分"按钮。我尝试使用find_element_by_xpath()
导航到相应的标签。
但是,通过 xpath 导航仅适用于#document
行和<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
行之外的标记。举个例子,driver.find_element_by_xpath("/html/frameset[1]/frame")
让我在#document
之前进入第一个tage,但我无法选择任何<body>
,<form>' or
后面的标签。我还尝试使用标签名称选择元素,例如driver.find_element_by_name("DATOS")
,但没有成功。这是因为"和/或"#document"标签/行还是这里有什么问题?
我感兴趣的对象是<a href="geografico.htm" .... </a>
。您有什么建议如何使用 xpath(或任何其他方法(选择它吗?
非常感谢您的帮助! 最好 喜欢.100
源代码
此元素<a href="geografico.htm" .... </a>
位于框架中。您需要切换 Web 驱动程序的焦点/控件才能与之交互。
要切换WebDriver的控件,您可以使用以下代码:
driver.switch_to.frame(driver.find_element_by_name('guiaFrame'))
然后,您可以轻松地与提到的Web元素进行交互。
请记住,一旦完成当前帧,将WebDriver的焦点切换回其父/默认值,则始终是一种很好的做法,为此您必须使用:
driver.switch_to.default_content()
嗡!!