使用 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/”,您将能够立即查看用户代理更改是否正确反映。
希望对您有所帮助!
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/”,您将能够立即查看用户代理更改是否正确反映。
希望对您有所帮助!