无法选择菜单项上的 Selenium 访问范围
Selenium access span on menuitem not selectable
我在 Python 上使用 Selenium 进行抓取。
基于,我尝试访问第五个菜单项的第二个元素。按 id 选择很好,但菜单项似乎无法访问。
html
<li class="k-item k-state-default" role="menuitem">
<span class="k-link">
<span class="undefined "i="">Budynki</span></span></li>`
代码试验:
dataset_drop_down_element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH,"//*[@title = 'Informacja o obiektach mapowych']")))`
错误:
dataset_drop_down_element = Select(dataset_drop_down_element)
Select only works on <select> elements, not on <span>
dataset_drop_down_element.send_keys('Budynek')
Message: element not interactable
driver.find_element_by_xpath('//*[@title="Informacja o obiektach mapowych"]/span[2]').click()
Message: element not interactable
要单击文本为 Budynki 的元素,您需要引入 WebDriverWait for the and you can use the following :
使用XPATH
:
driver.get("https://goleniowski.webewid.pl/e-uslugi/portal-mapowy")
WebDriverWait(driver, 30).until(EC.element_to_be_clickable((By.XPATH, "//span[@title='Informacja o obiektach mapowych']/span"))).click()
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//ul[@data-role='popup']//li/span/span[text()='Budynki']"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
我在 Python 上使用 Selenium 进行抓取。
基于
<li class="k-item k-state-default" role="menuitem">
<span class="k-link">
<span class="undefined "i="">Budynki</span></span></li>`
代码试验:
dataset_drop_down_element = WebDriverWait(driver, 10).until(EC.element_to_be_clickable((By.XPATH,"//*[@title = 'Informacja o obiektach mapowych']")))`
错误:
dataset_drop_down_element = Select(dataset_drop_down_element)
Select only works on <select> elements, not on <span>
dataset_drop_down_element.send_keys('Budynek')
Message: element not interactable
driver.find_element_by_xpath('//*[@title="Informacja o obiektach mapowych"]/span[2]').click()
Message: element not interactable
要单击文本为 Budynki 的元素,您需要引入 WebDriverWait for the
使用
XPATH
:driver.get("https://goleniowski.webewid.pl/e-uslugi/portal-mapowy") WebDriverWait(driver, 30).until(EC.element_to_be_clickable((By.XPATH, "//span[@title='Informacja o obiektach mapowych']/span"))).click() WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//ul[@data-role='popup']//li/span/span[text()='Budynki']"))).click()
注意:您必须添加以下导入:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC