我正试图向谷歌Map发送键以执行搜索,但谷歌Map只在浏览器屏幕处于焦点时接受键。我试过输入框点击,最大化窗口,动作链,滚动到视图。下面是代码。
import time
from undetected_chromedriver import Chrome, ChromeOptions
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
"""Initialize and return the drivers"""
chrome_options = ChromeOptions()
chrome_options.add_argument('--incognito')
chrome_options.add_argument(
"--disable-blink-features=AutomationControlled")
chrome_options.add_argument('--no-sandbox')
chrome_options.add_argument("--mute-audio")
chrome_options.add_argument("--window-size=1400,1000")
chrome_options.add_argument(
'user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36')
driver_installation = ChromeDriverManager().install()
service = Service(driver_installation)
service.service_args = chrome_options
driver = Chrome(service=service)
driver.get("https://maps.google.com")
time.sleep(3)
address = """Rett Syndrome Research Trust Inc
67 Under Cliff Rd
Trumbull, CT 6611"""
map_input = driver.find_element(By.ID, "searchboxinput")
driver.maximize_window()
driver.execute_script("arguments[0].scrollIntoView(false);", map_input)
driver.execute_script("arguments[0].click()", map_input)
map_input.send_keys(address)
actions = ActionChains(driver)
actions.click(map_input).send_keys(address).perform()
driver.quit()
以上都不起作用。提前感谢任何帮助
1条答案
按热度按时间5kgi1eie1#
我想这和你设置的所有选项有关。下面的代码对我来说很好。