Python Selenium选择下拉菜单选项

Python Selenium选择下拉菜单选项,python,selenium,selenium-webdriver,selenium-chromedriver,Python,Selenium,Selenium Webdriver,Selenium Chromedriver,我正在这个拍卖网站上填写表格。现在我需要弄清楚如何选择悬停菜单上的选项。我试着在这里查看其他问题,但它们都有XPATH或CSS作为识别子菜单选项的方法。我不能用我的浏览器检查该选项,我希望您能提供任何见解 “分配”按钮的代码是什么: HTML2-当我将鼠标悬停在AddAuctionAssignment上时,它似乎会弹出一个名为javascript的东西,但我不知道 下面是我到目前为止的代码和我尝试的方法。它确实找到了分配按钮,并将鼠标悬停在上面,但它总是超时 from selenium impo

我正在这个拍卖网站上填写表格。现在我需要弄清楚如何选择悬停菜单上的选项。我试着在这里查看其他问题,但它们都有XPATH或CSS作为识别子菜单选项的方法。我不能用我的浏览器检查该选项,我希望您能提供任何见解

“分配”按钮的代码是什么:

HTML2-当我将鼠标悬停在AddAuctionAssignment上时,它似乎会弹出一个名为javascript的东西,但我不知道

下面是我到目前为止的代码和我尝试的方法。它确实找到了分配按钮,并将鼠标悬停在上面,但它总是超时

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.common.exceptions import TimeoutException
from selenium.webdriver import ActionChains
from selenium.webdriver.support.ui import Select

browser = webdriver.Chrome("C:\Program Files\chromedriver_win32/chromedriver.exe")

actions = ActionChains(browser)

#Go to the desired website
browser.get("http://www.autoims.com/external/index.jsp")

usrname_box = browser.find_element_by_xpath('//*[@id="loginUsername"]')
pw_box =  browser.find_element_by_xpath('//*[@id="password"]')
login_button =  browser.find_element_by_xpath('//*[@id="submit"]')

#login process here

wait = WebDriverWait(browser, 10)

for vin in df['VIN']:
    assignments = wait.until(EC.visibility_of_element_located((By.XPATH, '//*[@id="_img0"]')))
    ActionChains(browser).move_to_element(assignments).perform()

    add_assignment = wait.until(EC.visibility_of_element_located((By.XPATH, "  HELP :(  "))) #always fails
    ActionChains(browser).move_to_element(add_assignment).click().perform()

你有没有试着从页面末尾找到子菜单的html代码, 对于一些JQuery导航栏插件, 它将子菜单的html代码附加到body标记的末尾

您可以先向下滚动到页面源代码的末尾,然后将鼠标悬停在分配菜单上,同时查看附加的任何新html代码或任何html代码 改变

只有当我们看到子菜单的html代码时,我们才能知道如何使用定位器
它是用脚本写的。

你能在标记中找到文本“添加拍卖分配”吗?我不知道。当我将鼠标悬停在指定上时,我看到的是图像更改的src。src=/images/menu/internal/btn_assignments.jpg更改为-->src=/images/menu/internal/btn_assignments_on.jpg是否确认在查看页面的源代码并搜索不存在的文本时?我无法理解。我刚刚从按钮复制了链接,让webdriver获得了url。嗨,索尔,我们需要找到子菜单的html代码,否则我们无法知道如何为子菜单编写css定位器或xpath,你能在chrome中打开站点并导航到可以显示该子菜单的页面吗,打开chrome devtool,选择“元素”选项卡,将鼠标悬停在“分配”上以显示子菜单,返回“元素”选项卡,单击选项卡内的任何位置,按Ctrl+F打开搜索框框将显示在底部,在搜索框中键入“添加拍卖分配”,查看可以找到的任何内容javascript弹出模式的代码?可能位于DOM底部附近的某个位置,其显示设置为“无”或“隐藏”-如@yong所述,请尝试在此处搜索它。此外,如果您将鼠标悬停在“添加拍卖分配”上,然后启动Chrome开发工具并单击元素定位器,您应该仍然能够检查javascript弹出窗口。不确定是否是这样,但我看到了:是否有任何can共享帐户?如果是这样,我可以登录以获取更多详细信息,但我无法理解。我只是从按钮复制了链接,并让webdriver获取url。