使用Python+Selenium从下拉列表中选择值

使用Python+Selenium从下拉列表中选择值,python,selenium,select,automation,dropdown,Python,Selenium,Select,Automation,Dropdown,请帮助我从下拉列表中选择一个值。我可以登录该网站,但登录后无法从下拉列表中选择值。我尝试了网上找到的一些解决方案/建议,但都没有成功。有关HTML的代码和错误,请参见下文 HTML: 错误: [<selenium.webdriver.remote.webelement.WebElement (session="3903b52d4ab75592fbd965a21424f192", element="0.5058773595053347-4")>, <selenium.webdri

请帮助我从下拉列表中选择一个值。我可以登录该网站,但登录后无法从下拉列表中选择值。我尝试了网上找到的一些解决方案/建议,但都没有成功。有关HTML的代码和错误,请参见下文

HTML:

错误:

[<selenium.webdriver.remote.webelement.WebElement (session="3903b52d4ab75592fbd965a21424f192", element="0.5058773595053347-4")>, <selenium.webdriver.remote.webelement.WebElement (session="3903b52d4ab75592fbd965a21424f192", element="0.5058773595053347-5")>, <selenium.webdriver.remote.webelement.WebElement (session="3903b52d4ab75592fbd965a21424f192", element="0.5058773595053347-6")>, <selenium.webdriver.remote.webelement.WebElement (session="3903b52d4ab75592fbd965a21424f192", element="0.5058773595053347-7")>]

Traceback (most recent call last):
  File "C:\Users\Desktop\MyProjects\Applications\dropdown.py", line 26, in <module>
    s1.select_by_visible_text('Inches')
  File "C:\Python27\lib\site-packages\selenium\webdriver\support\select.py", line 120, in select_by_visible_text
    self._setSelected(opt)
  File "C:\Python27\lib\site-packages\selenium\webdriver\support\select.py", line 212, in _setSelected
    option.click()
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 80, in click
    self._execute(Command.CLICK_ELEMENT)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webelement.py", line 628, in _execute
    return self._parent.execute(command, params)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 312, in execute
    self.error_handler.check_response(response)
  File "C:\Python27\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
ElementNotVisibleException: Message: element not visible: Element is not currently visible and may not be manipulated
  (Session info: chrome=63.0.3239.132)
  (Driver info: chromedriver=2.35.528161 (5b82f2d2aae0ca24b877009200ced9065a772e73),platform=Windows NT 6.1.7601 SP1 x86_64)

您需要使用以下代码:

s1 = Select(browser.find_element_by_id('highlightunits'))
s1.select_by_visible_text('Inches')
s1 = browser.find_element_by_xpath("//input[@id='highlightunits']") 
s1.send_keys('Inches')

PS:不使用循环。

您需要使用以下代码:

s1 = Select(browser.find_element_by_id('highlightunits'))
s1.select_by_visible_text('Inches')
s1 = browser.find_element_by_xpath("//input[@id='highlightunits']") 
s1.send_keys('Inches')

PS:不使用循环。

您可以使用以下代码:

s1 = Select(browser.find_element_by_id('highlightunits'))
s1.select_by_visible_text('Inches')
s1 = browser.find_element_by_xpath("//input[@id='highlightunits']") 
s1.send_keys('Inches')

贷记:

您可以使用以下代码:

s1 = Select(browser.find_element_by_id('highlightunits'))
s1.select_by_visible_text('Inches')
s1 = browser.find_element_by_xpath("//input[@id='highlightunits']") 
s1.send_keys('Inches')

贷记:

错误状态下,元素不可见,您发布的HTML确认…style=display:none;您需要首先使元素可见。如何做取决于您正在测试的页面。基本上,您需要做用户需要做的事情来显示下拉列表。或者可能您没有等待足够长的时间来显示它;从HTML的标签上看,你既得不到任何有效的解决方案,也得不到我们志愿者花费的时间。我确实编辑了这篇文章,因为当我在查看页面source中查看HTML时,它没有style=display:none;,但是,当我单击下拉选项进行检查时,它将显示style=display:none@sai,情况如何?错误状态下,元素不可见,并且您发布的HTML确认了…style=display:none;您需要首先使元素可见。如何做取决于您正在测试的页面。基本上,您需要做用户需要做的事情来显示下拉列表。或者可能您没有等待足够长的时间来显示它;从HTML的标签上看,你既得不到任何有效的解决方案,也得不到我们志愿者花费的时间。我确实编辑了这篇文章,因为当我在查看页面source中查看HTML时,它没有style=display:none;,但是,当我单击下拉选项进行检查时,它将显示style=display:none@赛,怎么样了?也试过了,没用,结果还是一样error@sai,共享您的URL。嗨,Ratmir,我很抱歉没有及时回复您,不幸的是,共享URL没有帮助,因为您需要凭据才能登录页面,而我仍然面临同样的问题。但是,我在不同的网页上尝试了你的解决方案,并且成功了。我也尝试了,但没有成功,得到了同样的结果error@sai,共享您的URL。嗨,Ratmir,我很抱歉没有及时回复您,不幸的是,共享URL没有帮助,因为您需要凭据才能登录页面,而我仍然面临同样的问题。但是,我在不同的网页上尝试了您的解决方案,并且正在工作。