![](/img/trans.png)
[英]Choosing appropriate locators when scraping dynamic content with Python and Selenium
[英]Selenium python locators are not working
当我尝试在页面上查找元素时,我被硒python关闭。 我的某些定位器正在工作,而另一些则没有。 例如:
sel.get_text("//div[@class='fm-title']")
sel.click("link=Scheme 1")
但是以下所有内容都会给我错误:找不到元素
sel.click("//a[@href='pmc/articles/instance/2586675/figure/F10/']")
sel.get_attribute("//img[@src-large='/pmc/articles/instance/2586675/bin/nihms61582f10.jpg']@title")
sel.get_attribute("//img[@src-large='/pmc/articles/instance/2586675/bin/nihms61582f10.jpg']/@title")
sel.click("//img[@src-large='/pmc/articles/instance/2586675/bin/nihms61582f10.jpg']")
在相关的源代码片段上:
<div class="fm-title">Structural Insights into the Mechanism of the PLP Synthase Holoenzyme from <em>Thermotoga maritima</em>
<a href="/pmc/articles/instance/2586675/figure/F10/" class="icon-reflink figpopup" target="figure" onclick="return startTarget(this, 'figure', 1024, 800)">
<div class="small-thumb-canvas">
<div class="small-thumb-canvas-1">
<img src="/pmc/articles/instance/2586675/bin/nihms61582f10.gif" class="icon-reflink small-thumb" alt="Scheme 1" title="Scheme 1" src-large="/pmc/articles/instance/2586675/bin/nihms61582f10.jpg" />
</div>
</div>
</a>
最终,我想做的是单击我通过其src-large属性找到的链接(或找到具有该src-large属性的元素,然后单击其父元素链接)。
我在Windows XP上使用Selenium Server 2.15.0和python绑定v2.0b3和Firefox 8.0。
页面网址会有所帮助,因为如果该网址为: http ://www.ncbi.nlm.nih.gov/pmc/articles/PMC2586675/-您的html代码段中的所有src和href属性都不同:
<a href="/pmc/articles/PMC2586675/figure/F10/" class="icon-reflink figpopup"
target="figure" onclick="return startTarget(this, 'figure', 1024, 800)"
canvas-rid="_cid___pmc_articles_PMC2586675_bin_nihms61582f10_jpg_">
<div class="small-thumb-canvas">
<div class="small-thumb-canvas-1">
<img src="/pmc/articles/PMC2586675/bin/nihms61582f10.gif"
class="icon-reflink small-thumb" alt="Scheme 1" title="Scheme 1"
src-large="/pmc/articles/PMC2586675/bin/nihms61582f10.jpg">
</div>
</div>
</a>
如果不是这种情况,则在触发DOMContent
或Load
事件后,有可能将这些元素添加到DOM中,并且需要等待使用它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.