使用 selenium webdriver 和 python 更改用户代理

Change user agent with selenium webdriver and python

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
import os
xpaths = { 'video' :   "//video[@id='video']",
     }

from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference("general.useragent.override", "Mozilla/5.0 (X11;     Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0   Safari/537.36")
driver = webdriver.Firefox(profile)
mydriver = webdriver.Firefox()
baseurl = "XXXX"
mydriver.get(baseurl)

它没有更改用户代理。我希望用户代理是 chrome。不知道怎么回事...

此外,这是我希望它执行的操作:转到该网站,如果它重定向到另一个网站 url > 返回主页并继续这样做,直到它找到 (id:video) 我还没有实现这个,因为我不知道如何...... 我试图自动化的网站有一个视频,它有时会出现。我想要做的是继续访问该网站,直到它找到 id:video 单击它并等待。

感谢帮助:)

您正在使用错误的 Firefox 实例导航到您的应用程序 URL - mydriver。使用正确的 firefox 实例(具有所需的配置文件设置)应该可以完成工作(在您的情况下为 driver)。

下面是正确的代码:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
import os
xpaths = { 'video' :   "//video[@id='video']",
     }

profile = webdriver.FirefoxProfile()
profile.set_preference("general.useragent.override", "Mozilla/5.0 (X11;     Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0   Safari/537.36")
driver = webdriver.Firefox(profile)

# the below line is not required
#mydriver = webdriver.Firefox()
baseurl = "XXXX" 

# navigate to url with 'driver' instead of 'mydriver'
driver.get(baseurl)

如果您将 baseurl 更改为“http://whatsmyuseragent.com/”,您将能够立即查看用户代理更改是否正确反映。

希望对您有所帮助!