我有一个网站,你可以用<select>
和<option>
选择不同价格的货币,如下所示:
<div class="menu" style="display: none;">
<p class="current-country">
<span class="flag store-7"></span>
Italia
</p>
<div class="currency-list">
<label for="currencyList">Cambia valuta:</label>
<select name="currency-list" id="currencyList" data-bind="valueFromOptions: currencies, value: selectedCurrencyId">
<option value="1" data-label="GBP">£ GBP</option>
<option value="2" data-label="USD">$ USD</option>
<option value="3" data-label="CAD">C$ CAD</option>
<option value="8" data-label="SEK">kr SEK</option>
<option value="9" data-label="NOK">kr NOK</option>
<option value="10" data-label="DKK">kr DKK</option>
<option value="14" data-label="CHF">₣ CHF</option>
<option value="19" data-label="EUR"> € EUR</option>
<option value="21" data-label="AUD">$ AUD</option>
<option value="10021" data-label="RMB">¥ RMB</option>
<option value="10042" data-label="HKD">$ HKD</option>
<option value="10064" data-label="NZD">$ NZD</option>
<option value="10078" data-label="SGD">$ SGD</option>
<option value="10085" data-label="TWD">NT$ TWD</option>
<option value="10123" data-label="RUB">руб. RUB</option>
</select>
</div>
</div>
我想在可用选项和每次打印商品价格之间进行迭代,但是,在这个网站中,每次您更改货币时,它都会重新加载页面,因此代码不适用于我,下面是我的代码:
^{pr2}$我得到一个错误:
Traceback (most recent call last):
File "C:/Users/dodob/PycharmProjects/Learning/Asosly.py", line 17, in <module>
print(elem.get_attribute('innerHTML'), root_url[i] + str(num), option.get_attribute('innerHTML'))
File "C:\Users\dodob\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\webelement.py", line 111, in get_attribute
resp = self._execute(Command.GET_ELEMENT_ATTRIBUTE, {'name': name})
File "C:\Users\dodob\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\webelement.py", line 461, in _execute
return self._parent.execute(command, params)
File "C:\Users\dodob\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 236, in execute
self.error_handler.check_response(response)
File "C:\Users\dodob\AppData\Local\Programs\Python\Python35-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 192, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.StaleElementReferenceException: Message: Element not found in the cache - perhaps the page has changed since it was looked up
Stacktrace:
at fxdriver.cache.getElementAt (resource://fxdriver/modules/web-element-cache.js:9454)
at Utils.getElementAt (file:///C:/Users/dodob/AppData/Local/Temp/tmpb9cwfwq1/extensions/fxdriver@googlecode.com/components/command-processor.js:9039)
at WebElement.getElementAttribute (file:///C:/Users/dodob/AppData/Local/Temp/tmpb9cwfwq1/extensions/fxdriver@googlecode.com/components/command-processor.js:12146)
at DelayedCommand.prototype.executeInternal_/h (file:///C:/Users/dodob/AppData/Local/Temp/tmpb9cwfwq1/extensions/fxdriver@googlecode.com/components/command-processor.js:12661)
at DelayedCommand.prototype.executeInternal_ (file:///C:/Users/dodob/AppData/Local/Temp/tmpb9cwfwq1/extensions/fxdriver@googlecode.com/components/command-processor.js:12666)
at DelayedCommand.prototype.execute/< (file:///C:/Users/dodob/AppData/Local/Temp/tmpb9cwfwq1/extensions/fxdriver@googlecode.com/components/command-processor.js:12608)
我很抱歉我的英语,但无论如何,我能做些什么等到页面重新加载,因为我认为这会造成问题。在
如果需要的话,我试着从ASOS获取一些信息,例如linkhere
此程序将首先获取所有可用货币,然后打印所有价格:
^{pr2}$希望这对解决你的问题有帮助
相关问题 更多 >
编程相关推荐