我想解析“disabled”,但我无法使用 Beautiful Soup 来执行此操作。如何在Python中使用Selenium来解析“disabled”?我正在解析的网站:https://sport.woot.com/offers/asics-mens-clearance-calculator?ref=w_cnt_lnd_cat_sprt_18_1 尺寸
<select id="attr-size" name="Size">
<option value="none">- Select -</option>
<option value="6.5">6.5</option>
<option value="8">8</option>
<option value="8.5" disabled="">8.5</option>
<option value="9.5">9.5</option>
<option value="10">10</option>
<option value="10.5">10.5</option>
<option value="11">11</option>
<option value="12" disabled="">12</option>
<option value="13" disabled="">13</option>
<option value="14" disabled="">14</option>
<option value="12 Wide US">12 Wide US</option>
<option value="13 (4E)" disabled="">13 (4E)</option>
</select>
</div>
尝试:
from selenium import webdriver
import geckodriver_autoinstaller
driver = webdriver.Firefox()
driver.get("https://sport.woot.com/offers/asics-mens-clearance-calculator?
ref=w_cnt_lnd_cat_sprt_18_1")
disabled_sizes = driver.find_element_by_class_name("disabled")
my_disabled_sizes = []
try:
for disabled_size in disabled_sizes:
try:
my_disabled_sizes.append(disabled_sizes.text)
except:
pass
except:
pass
try:
print(my_disabled_sizes[1:]) # skip first element then start listing
disabled sizes
except:
pass
最佳答案
您可以使用下面的xpath来获取所有具有disabled
属性的选项。
//select[@id='attr-size']/option[@disabled]
这是在 python 中获取所有禁用元素的逻辑。
disabled_elems =driver.find_elements_by_xpath("//select[@id='attr-size']/option[@disabled]")
屏幕截图:
关于javascript - 如何在 Python 中使用 Selenium 获取 JavaScript 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60637417/