Webdriver找不到"新加载元素"的xpath。

时间:2017-08-12 17:32:28

标签: javascript python selenium web-scraping

目前我正试图从网上搜集一些信息,但我有点陷入死胡同。

因此,为了获得我想要的数据,我需要从列表中选择正确的货币。我点击链接更改货币,通过java脚本,网站获取另一个包含列表的html块并打开叠加层,我可以在其中选择正确的货币。

我试图找到存储列表的div:

driver.find_elements_by_xpath("//html/body/div[19]/div[2]/div/div/div[2]/form/div[2]")

我尝试了列表本身,但我无法找到该元素。

然后我想查看是否找到了某些内容并使用以下内容:

len(driver.find_elements_by_xpath("//html/body/div[19]/div[2]/div/div/div[2]/form/div[2]"))

提供了答案0,因此我的webdriver无法找到新添加的html块。

这是新添加的html:

<div class="module">
    <div class="modal_mask" style="opacity: 0.5;"/>
        <div class="modal_scroller">
            <div class="modal_container" style="margin-top: 164.5px;">
                <div class="modal_ship" style="margin: 0px auto;">
                    <div class="modal_title">
                        Address  Currency
                        <i onclick="modal_remove();">×</i>
                    </div>
                    <div class="modal_ship_con">
                        <h3>Please select your shipping destination & currency</h3>
                        <p>Price may differ based on your Shipping destination.</p>
                        <form action="#" method="get">
                            <input value="81" name="country_sel" type="hidden"/>
                            <input value="USD" name="currency_sel" type="hidden"/>
                            <div class="currency">
                                <b>Currency:</b>
                                <div class="currency_list">
                                    <div class="active">
                                        <i class="arrow_a">
                                            <i/>
                                            </i>
                                        <span>
                                            USD
                                            <u>US$</u>
                                        </span>
                                    </div>
                                    <div class="currency_box" style="display: none;">
                                        <ul>
                                            <li sel="USD">
                                                USD
                                                <u>US$</u>
                                            </li>
                                            <li sel="EUR">
                                                EUR
                                                <u>€</u>
                                            </li>
                                            <li sel="GBP">
                                                GBP
                                                <u>£</u>
                                            </li>
                                            <li sel="AUD">
                                                AUD
                                                <u>AU$</u>
                                            </li>
                                            <li sel="CAD">
                                                CAD
                                                <u>CA$</u>
                                            </li>
                                        </ul>
                                    </div>
                                </div>
                            </div>
                            <div class="submit">
                                <input onclick="saveShip(0);" value="Save" type="button"/>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>

这就是我必须点击的地方:

<div class="active">
    <i class="arrow_a">
        <i/>
        </i>
    <span>
        USD
        <u>US$</u>
    </span>
</div>

所以现在我的问题是:是否有可能获得新添加的HTML代码?是否有类似&#34;刷新webdriver&#34;?

此致

0 个答案:

没有答案