我正在尝试使用selenium webscrape到pycharm

时间:2017-11-06 16:25:55

标签: python html selenium pycharm

这是提供输出的HTML文本 - £0.03。

我想通过xpath找到这个值并将输出打印到pycharm控制台。

<div class="pnl runner-info-elem below-runner-info" ng-if="ctrl.vm.events.shouldShowPnl(runner)" ng-class="{'below-runner-info': ctrl.vm.data.displayRaceCardInfo}">
<!---->
<mv-runner-pnl ng-repeat="(type, pnl) in ctrl.vm.data.pnl[runner.key] track by type" type="actual" values="pnl.values" separator="comma" formatter="::pnl.formatter">

<!-- PnL -->
<div class="runner-elem-pnl actual-pnl">
    <span class="prefix"></span>
    <span class="pnl-value-container"> 
        <span class="pnl-value negative">-£0.03</span> 
    </span>
    <span class="pnl-value-container hidden"><span> 

我尝试了以下内容:

driver.find_element_by_xpath('//*[@id="main-wrapper"]/div/div[3]/div/div[2]/div/div[1]/div[3]/div/div[1]/div/bf-main-market/bf-main-marketview/div/div[2]/bf-marketview-runners-list[2]/div/div/div/table/tbody/tr[1]/td[1]/div/div[3]').get_attribute(pnl.value)

print(pnl.value)

我的结果是:

  

:NameError:名称'pnl'未定义

这甚至可能吗?如果不是通过xpath然后通过任何其他方式? 正如我所说,我对此非常陌生,并试图从YouTube教程中学习。

1 个答案:

答案 0 :(得分:0)

使用提供的html,您可以使用:

el= driver.find_element_by_xpath("//div/mv-runner-pnl/div[@class='runner-elem-pnl actual-pnl']/span[@class='pnl-value-container']/span[@class='pnl-value negative']")
print(el.text)