小编Sła*_*zak的帖子

Selenium - 选择字段不会通过Remote Webdrive保存

我必须测试用React编写的Web应用程序.我想从选择字段中选择选项:

HTML
<select id="martial_status" class="form-control" name="martial_status">
<option value="" hidden="">---</option>
<option value="1">wolny</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用两种方法在"value"= 1上设置此字段:

martial_status = Select(driver.find_element(By.ID, "martial_status")
martial_status.select_by_value('1')
Run Code Online (Sandbox Code Playgroud)

要么

el = driver.find_element_by_id("martial_status")
        for option in el.find_elements_by_tag_name('option'):
            if option.text == 'wolny':
                option.click()
                break
Run Code Online (Sandbox Code Playgroud)

它们都只适用于本地webdriver:

cls.driver = webdriver.Firefox()
cls.driver.implicitly_wait(20)
Run Code Online (Sandbox Code Playgroud)

当我使用远程Webdriver时,选择的值不会保存:

cls.driver = webdriver.Remote(
             command_executor='http://xx.xx.xx.xx:5555/wd/hub',
             desired_capabilities=DesiredCapabilities.FIREFOX)
Run Code Online (Sandbox Code Playgroud)

测试不会检索任何错误.从正在执行远程测试的远程服务器上启动的Selenium_standalone_server控制台,我假设找到了select:

14:31:16.993 INFO - Executing: [find element: By.id: martial_status])
14:31:17.002 INFO - Done: [find element: By.id: martial_status]
14:31:17.063 INFO - Executing: [tag name: 15 [[FirefoxDriver: Firefox on LINUX (661c3804-f7e8-470a-b516-95ad449efb8b)] -> id: martial_status]])
14:31:17.070 INFO - Done: …
Run Code Online (Sandbox Code Playgroud)

python firefox selenium google-chrome

5
推荐指数
1
解决办法
64
查看次数

标签 统计

firefox ×1

google-chrome ×1

python ×1

selenium ×1