我对Python很陌生。我正在尝试使用 chrome webdriver 和 selenium 在 macOS 上的 VS code 中编写一个脚本,该脚本提交对 google 表单的响应 - 我保证没有邪恶的原因,只是朋友之间的一些有趣的竞争!
我一直在关注本教程以及一些YouTube视频教程
我已经打开了我的测试表单,但每当我运行它时,我都会在“executable_path”上收到一个关键字参数,我不知道如何解决这个问题
错误提示:
发生异常:TypeError WebDriver._init_() 得到意外的关键字参数 'executable_path' 文件“/Users/[myname]/Selenium/main.py”,第 8 行,在
browser = webdriver.Chrome(可执行文件路径=“用户/[我的名字]/chromedriver”,选项=选项)^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ TypeError: WebDriver._init_() 得到意外的关键字参数“executable_path”
这是我的代码:
from selenium import webdriver
option = webdriver.ChromeOptions()
option.add_argument("-incognito")
option.add_argument("--headless")
option.add_argument("disable-gpu")
browser = webdriver.Chrome(executable_path = "/Users/[my name]/chromedriver", options=option)
browser.get("https://forms.gle/R2xt69eWMnXTGrjD6")
# Use the following snippets to get elements by their class names
otherboxes = browser.find_element_by_xpath("/html/body/div/div[3]/form/div[2]/div/div[2]/div/div/div/div[2]/div/div/span/div/div[1]/label/div/div[1]/div/div[3]/div")
submitbutton = browser.find_element_by_xpath("/html/body/div/div[3]/form/div[2]/div/div[3]/div/div[1]/div/span")
otherboxes[0].click()
submitbutton[0].click()
#browser.close()
如果有人可以帮助我或告诉我哪里出错了,请告诉我!谢谢!
该教程似乎适用于较旧版本的 Selenium。
指定
executable_path
已弃用。您需要使用服务类:
from selenium.webdriver.chrome.service import Service
driver = webdriver.Chrome(service=Service('path_to_chromedriver')
与
find_element_by_xpath
相同,它需要是find_element(By.XPATH, 'xpath')
。
相关说明,不建议使用绝对
xpath
,它非常脆弱且难以阅读。 "/html/body/div/div[3]/form/div[2]/div/div[2]/div/div/div/div[2]/div/div/span/div/div[1]/label/div/div[1]/div/div[3]/div"
首选方法是通过 id、类名或相对 xpath 找到正确的元素