下面是我试图与之交互的网页中的元素:
<select class="experiment-enable-disable" tabindex="6" jsdisplay="enabled !== undefined" jsvalues=".internal_name:internal_name; aria-labelledby:internal_name + '_name'" jstcache="8" aria-labelledby="enable-experimental-web-platform-features_name">
<option jsvalues=".selected:!enabled; data-default:!enabled ? 1 : 0" value="disabled" jstcache="15" data-default="1">Disabled</option>
<option jsvalues=".selected:enabled; data-default: enabled ? 1 : 0" value="enabled" jstcache="16" data-default="0">Enabled</option>
</select>下面是我用来选择它的代码:
select = driver.find_element_by_class_name("experiment-enable-disable")现在,当我试图以“单击”或“sendkey”等方式与它交互时,它会说“元素不可插入”。
如何与下拉菜单进行交互?
发布于 2021-12-17 19:50:05
在尝试与下拉菜单交互时,可能不会加载它。通过执行以下操作,始终可以诱导等待:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
driver = webdriver.Chrome()
driver.get("insertwebsitehere")
try:
element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable(By.XPATH,'xpath')).click()
print("it's clickable")
except:
pass编辑:如果可能的话,我会使用XPATH。此外,还不推荐使用find_element_by_class_name。相反,如果您想使用类名而不是XPATH,请使用find_element(By.CLASS_NAME, "insert class name here")。
https://stackoverflow.com/questions/70396778
复制相似问题