[英]Drop down option selection in selenium python
<select id="PRMT_SV_N0x29a524c0x0x2c68e47c_NS_" class="clsSelectControl pv" aria-
multiselectable="false" aria-invalid="false" style="width: 5cm;" xpath="1">
<option value="1"
dv="Transactions Only"> Transactions Only</option>
<option
value="2" dv="Few Transactions Only"> Transactions Only</option><option value="3"
dv="All Transactions">All Transactions</option>
</select>
我有上面的 HTML,它是下拉列表。 我必須單擊元素才能看到所有三個選項並選擇最后一個選項 Value =3。 下面是我的代碼,它不工作或拋出任何錯誤。 它通過單擊元素對零件起作用,但沒有選擇該選項。
driver.find_element_by_xpath('/html[1]/body[1]/form[1]/table[1]/tbody[1]/tr[2]/td[1]/div[1]/div[1]/table[1]/tbody[1]/tr[2]/td[1]/div[1]/div[4]/div[1]/table[1]/tbody[1]/tr[1]/td[1]/div[1]/select[1]').click()
select = Select(driver.find_element_by_xpath('/html[1]/body[1]/form[1]/table[1]/tbody[1]/tr[2]/td[1]/div[1]/div[1]/table[1]/tbody[1]/tr[2]/td[1]/div[1]/div[4]/div[1]/table[1]/tbody[1]/tr[1]/td[1]/div[1]/select[1]'))
select.select_by_value('3')
要 select 從 html-select 菜單中選擇一個元素,您必須使用select
Class 而無需單擊元素到 select 的下拉值。
代碼:
select= Select(driver.find_element_by_xpath('//select[contains(@class,'clsSelectControl')]'))
select.select_by_value(3)
進口:
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
有時Select
class 不能正常工作,在這種情況下我們需要 JS 干預。
請試試這個:
index = '3'
driver.execute_script(f"return document.querySelector('select.clsSelectControl.pv').selectedIndex = {index}")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.