Python Selenium选择下拉菜单选项

时间:2017-09-09 03:24:52

标签: python selenium selenium-webdriver selenium-chromedriver

我正试图在这个拍卖网站上填写表格。现在我需要弄清楚如何在悬停菜单上选择选项。我试着在这里查看其他问题,但他们都有XPATH或CSS作为识别子菜单选项的方法。我无法通过浏览器检查该选项,我将不胜感激任何见解!

Menu and SubMenu Screenshot

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

HTML code from Google Chrome

HTML 2 - 当我将鼠标悬停在“添加拍卖作业”时,似乎它会弹出一个叫做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()

1 个答案:

答案 0 :(得分:0)

你是否尝试从页面末尾找到子菜单的html代码, 对于一些JQuery导航栏插件, 它将子菜单的html代码附加到body标签的末尾。

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

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

相关问题