我需要能够在组合框中选择一个元素,使用xpath似乎是这样做的方法。我找到了
框的路径和idPath = div/div/div
ID = stuff_devicessettings_Modbus_TCP
我尝试了几种不同的打开方框的方法,这是我失败的一些尝试
browser.find_element_by_xpath("//div/div/div[contains(text(),'No Device Connected')]").click()
browser.find_element_by_xpath("//div/div/div[@id ='stuff_devicessettings_Modbus_TCP']//div/div/div[text()=""No Device Connected"])
但是没有一个成功,请帮我找一个方法来打开并从组合框中选择一个元素。
这是包含的内容
<select data-bind="uid: uid + '_device', options: devices, optionsText: 'name', optionsCaption:
strings.notConnected, optionsAfterRender: applyDeviceAvailability, value: selectedDevice,
enable:
canModifyDevice" id="stuff_devicessettings_Modbus_TCP"><option value="">No device
connected</option><option value="">Create a new device</option></select>
答案 0 :(得分:4)
Selenium有一种处理select
- &gt; option
元素的特殊方式 - Select
class。按ID查找select
代码,实例化Select
类和select an option by visible text:
from selenium.webdriver.support.ui import Select
select = Select(driver.find_element_by_id('stuff_devicessettings_Modbus_TCP'))
select.select_by_visible_text("No device connected")