Я очень новичок в python, все еще пытаюсь понять все.Наведите указатель мыши на XPath, селен webdriver, хром?
При попытке моей руки в webscraping я попал в проблему:
Сайт требует знака в и всплывающий показывает, как только страница результатов поиска показывает, и иногда во время прокрутки и глядя на результатах. Поэтому мне нужно нажать escape, а затем наведите указатель мыши (или я нажму на него) в раскрывающемся меню «Вход в систему» и нажмите «Войти» в раскрывающемся меню.
Но прямо сейчас, с точки зрения образования, я хотел переместить мышь на элемент, используя его XPath.
Я сделал следующее и не работает. Пожалуйста, укажите мне в правильном направлении.
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
chrome_path = r"C:\Users\------\Desktop\chromedriver.exe"
driver = webdriver.Chrome(chrome_path)
driver.get("URL of the webnsite I am scraping") #sorry had to remove the link :(
driver.maximize_window()
#code below this is not working
action = webdriver.ActionChains(driver)
action.move_to_element((By.XPATH, '//*[@id="user_sign_in"]'))
#Tried the ones below and they didn't work either
#driver.move_to_element(By.XPATH, '//*[@id="user_sign_in"]')
#login_menu = WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH, '//*[@id="user_sign_in"]')))
Благодаря, оба из вышеизложенного работали. Второй - это то, что я использую сейчас. Теперь, чтобы выяснить, как заменить текст заполнителя, когда я нажимаю знак. Это всплывающее окно, и я могу найти xpath и id, однако я получаю следующую ошибку: 'AttributeError: 'list' объект не имеет атрибута 'send_keys'' – Sid
@Sid вы, вероятно, используете' find_elements_ * '(который возвращает список элементов) вместо 'find_element_ *' (который возвращает один элемент). – alecxe
Спасибо, я сделал эту точную ошибку. Теперь, когда я изменил его, появилась новая ошибка: «Сообщение: неизвестная ошибка: не может сфокусировать элемент». Код, который я использовал 'inputElement = driver.find_element_by_xpath ('// * [@ id =" lfm "]/div [1]/div [2] ') # driver.find_elements_by_xpath ("// * [содержит (текст(),' Введите номер мобильного телефона ')]") # driver.find_element_by_id ("mobile") inputElement.send_keys (' Номер телефона ') вводElement.submit() '. – Sid