首先,我对网页抓取、html和selenium都是新手,所以我的问题对你们来说可能没有什么意义
我要做的是:自动点击网页上的图像。手动单击此图像可以在网页的某个部分显示新信息
我是如何尝试的:我发现了一些特定于此图像的内容,例如:
<img src="images/btn_qmj.gif" border="0">
所以我刚刚输入了python:
xpath = '//img[@src="images/btn_qmj.gif"]'
driver.find_elements_by_xpath(xpath)
问题:这将返回一个空列表。我部分理解原因,但我没有任何解决办法
image of the html code inspector
我在这里包括了我在web inspector上获得的html树的图像。可以看到,到达我感兴趣的行的树给出了“/html/frameset/frame1/#document/html/body/center/table/tbody/tr[2]/td/a/img”。 问题是,我无法使用xpath访问#文档后面的任何内容。如果我试图复制我感兴趣的行的xpath,它将只跟踪到第二个“/html”。这就像是页面被细分、划分,内部部分我无法访问。我想有一种方法可以访问#文档内容,也许它指的是另一个网页,但我在这一点上卡住了。 如果有人能在这方面帮助我,我将不胜感激
您需要先将控件切换到“帧”以处理其上的图像。请参考下面的代码
注意::您需要添加以下导入
你试过先切换到画面吗
元素存在于
iframe
中。要访问该元素,需要先切换它诱导
WebDriverWait
()和frame_to_be_available_and_switch_to_it
()诱导
WebDriverWait
()和visibility_of_element_located()
您需要导入以下库
相关问题 更多 >
编程相关推荐