from selenium import webdriver
import time
test = webdriver.Chrome()
test.get('https://docs.google.com/forms/d/e/1FAIpQLSeYUmAYYZNtbU8t8MRxwJo- d1zkmSaEHodJXs78RzoG0yFY2w/viewform')
time.sleep(5)
Name = 'kuch bhi'
last = test.find_element_by_xpath('//*[@id="mG61Hd"]/div[2]/div/div[2]/div[1]/div/div/div[2]/div/div[1]/div/div[1]/input')
last.send_keys(Name)
Run Code Online (Sandbox Code Playgroud)
当我执行代码时,我收到一条错误消息,
AttributeError:“WebDriver”对象没有属性“find_element_by_xpath”
selenium browser-automation python-3.x selenium-chromedriver selenium-webdriver
我正在尝试使用 selenium 登录谷歌,但不断收到“此浏览器或应用程序可能不安全”的错误消息。
我用来登录的功能是:
async function loginToChrome(driver, username, password) {
await driver.get("https://accounts.google.com/signin");
await driver.sleep(1000);
let email_phone = await driver.findElement(
By.xpath("//input[@id='identifierId']")
);
await email_phone.sendKeys(username);
await driver.findElement(By.id("identifierNext")).click();
await driver.sleep(1000);
let passEl = await driver.findElement(By.xpath("//input[@name='password']"));
await passEl.sendKeys(password);
await driver.findElement(By.id("passwordNext")).click();
await driver.sleep(1000);
}
Run Code Online (Sandbox Code Playgroud)
这是与/sf/ask/4160341741/ 和 /sf/ask/4149388281/相同的问题 无法在此浏览器或应用程序中签署您可能不安全的python-selenium-chrome
我试过同时使用 chrome 和 firefox 网络驱动程序,但都不起作用。我也试过这样做.excludeSwitches(['enable-automation'])也没有帮助。
这让我想到,也许登录页面可以检测到我正在自动化环境中运行。我尝试了这个解决方案,该解决方案会隐藏应用程序正在 Web 驱动程序中运行:网站是否可以检测到您何时将 selenium 与 chromedriver 一起使用?
我还调查了这User-Agent是否是问题所在,但我发现它与我的常规 chrome 相同。
所有这些都没有奏效,这让我陷入困境。我已经看到一些解决方案说要使用正常安装的 chrome 中已经创建的用户配置文件,但这不适用于我的用例。
有没有人找到解决这个问题的方法?我一直在寻找几个小时,结果空手而归。
编辑: 这似乎最近引起了很多关注。我找到了一个解决方案,可以让我继续使用自动化客户端而不会出现太多问题。切换到 Puppeteer。看看这些包:
"puppeteer",
"puppeteer-extra",
"puppeteer-extra-plugin-stealth"
Run Code Online (Sandbox Code Playgroud)
编辑 2:我最近看到这引起了很多关注。我找到了我最终用来登录的代码。我用 puppeteer 而不是 selenium …
javascript selenium google-chrome selenium-chromedriver selenium-webdriver
import org.openqa.selenium.By;\nimport org.openqa.selenium.chrome.ChromeDriver;\n\nimport io.github.bonigarcia.wdm.WebDriverManager;\n\npublic class ClassTest {\n\n public static void main(String[] args) {\n\n WebDriverManager.chromedriver().setup();\n ChromeDriver drive = new ChromeDriver();\n drive.get("https://accounts.google.com");\n drive.manage().window().maximize();\n drive.findElement(By.id("identifierId")).sendKeys("********@gmail.com");\n drive.findElement(By.xpath("//*[@id=\\\'identifierNext\\\']/div/button/span")).click();\n drive.findElement(By.name("password")).sendKeys("*******");\n\n drive.findElement(By.xpath("//*[@id=\'passwordNext\']/div/button/span")).click();\n\n }\n\n}\nRun Code Online (Sandbox Code Playgroud)\n当我尝试使用 selenium 登录 Gmail 时,收到此错误\n“此浏览器或应用程序可能不安全。了解详情\n尝试使用其他浏览器。如果您\xe2\x80\x99已使用受支持的浏览器,您可以刷新屏幕并再次尝试登录。”\n即使安全性较低并且关闭了两步验证,仍然存在同样的问题,您能帮我解决这个问题吗
\n