我有多個選擇選項爲:硒選擇選項
<select id="auto_year" class="element" onchange="loadMakes(this.value);" name="auto_year">
<option value="0000">- Year -</option>
<option value="2014">2014</option>
<option value="2013">2013</option>
<option value="2012">2012</option>
<option value="2011">2011</option>
</select>
<select id="auto_make" class="element" onchange="loadModels(document.getElementById('auto_year').value, this.value);;" name="auto_year">
<option value="0000">- Make-</option>
</select>
最初,選擇ID = 「auto_make」 內該選項爲空。但是,當我從選擇其中一個選項時,請選擇id =「auto_year」,此時會出現該選項。我在選擇值時遇到問題。我的代碼是:
from selenium import webdriver
from bs4 import BeautifulSoup
import re
browser = webdriver.Firefox()
browser.get(certain_url)
html_source = browser.page_source
yearoption_val = browser.find_element_by_id('auto_year')
for yearoption in yearoption_val.find_elements_by_tag_name('option'):
if yearoption.text == '- Year -':
continue
else:
yearoption.click()
itemmake_val = browser.find_element_by_id('auto_make')
for itemmake in itemmake_val.find_elements_by_tag_name('option'):
if (itemmake.text == r'\- Make \(\d+ items\) \-' or '- Model -'):
continue
else:
itemmake.click()
與代碼的問題是它會選擇2014年遷入2013沒有ID = auto_make尋找選擇在2014年的任何幫助或建議將是真正的幫助。
您是否試過在'yearoption.click()'代碼之後插入一個小睡眠?這將確保onclick方法可以執行。 – Vish
睡覺在自動化腳本中永遠不會明智,應該避免 –