我正试图在这个拍卖网站上填写表格。现在我需要弄清楚如何在悬停菜单上选择选项。我试着在这里查看其他问题,但他们都有XPATH或CSS作为识别子菜单选项的方法。我无法通过浏览器检查该选项,我将不胜感激任何见解!
“分配”按钮的代码是什么:
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()
答案 0 :(得分:0)
你是否尝试从页面末尾找到子菜单的html代码, 对于一些JQuery导航栏插件, 它将子菜单的html代码附加到body标签的末尾。
您可以先向下滚动到页面源的末尾,然后将鼠标悬停在“分配”菜单上,同时观看附加的任何新html代码或任何html代码 变化
只有当我们看到子菜单的html代码时,我们才能知道如何定位 它在脚本中。