Python selenium ActionChains 每次下拉框成功点击,但鼠标上移后点击不成功,如何解决?

非select类
通过 Python selenium ActionChains , 想实现鼠标点击下拉框,再向上移动鼠标,再次点击选取下拉框里的内容

opt = wd.find_element(By.XPATH, "/html/body/div[4]/div[2]/div[1]/table/tbody[3]/tr[3]/td[2]/select") 
ActionChains(wd).click(opt).perform()
 time.sleep(1) 
ActionChains(wd).move_by_offset(0, -60).click().perform()

每次下拉框成功点击,但鼠标上移后点击不成功

img

HTML内容如下,选择选项后,在span里会添加选项的值(黄框内)

img

下拉菜单里面的内容可以获取到Xpath吗?我最近也在做累死的,可以获取下拉菜单的xpath,也可以过去到里面各种选项的xpath,用两次click就行了。

根据提供的信息,可以尝试以下解决方案: 1. 确认下拉框的类型是否为非select类。通过检查下拉框的 HTML 代码,确认其类型是否为选择项下拉框。如果是,则需要进行相应的修改。 2. 在 ActionChains 中设置鼠标移向顶部的参数。可以使用 CSS 过渡来模拟鼠标向上移动的效果。具体来说,可以使用 `Selenium.execute_script()` 方法设置一个 `CSS_过渡_script`,其中包含一个 `CSS_过渡_class`,然后使用 `Selenium.CSS_过渡()` 方法来模拟鼠标向上移动的效果。 下面是一个示例代码: ```python from selenium import webdriver # 创建 Chrome 浏览器实例 driver = webdriver.Chrome() # 打开网页 driver.get('https://example.com') # 创建非select类下拉框 拉到底部为 `
  • ` 元素,非 `
  • ` 元素为 `` 元素 select_element = driver.find_element_by_id('my-select') select_element.click() # 设置鼠标移向顶部的参数 CSS_过渡_class = 'css_过渡' CSS_过渡_script = f'CSS_过渡_class = this.value;' driver.execute_script(CSS_过渡_script, CSS_过渡_class) # 创建选择项下拉框 拉到底部为 `
  • ` 元素,非 `
  • ` 元素为 `` 元素 input_element = driver.find_element_by_id('my-input') input_element.click() # 设置选择项内容 input_element.send_keys('value') # 关闭浏览器 driver.quit() ``` 在上面的示例代码中,我们通过 `CSS_过渡_script` 来模拟鼠标向上移动的效果,并将 `CSS_过渡_class` 设置为 `this.value`,从而将选择项的内容设置为当前选中的内容。 希望以上解决方案能够帮到您。