需求:想打开一个网业,打开搜索元素,点击例如:新闻(下面代码未添加send.什么鬼的)
问题:在其他的电脑就可以成功跳转,但我的就不行。
代码:
from selenium import webdriver
dri = webdriver.Chrome()
dri.get("https://www.baidu.com/")
print(dri.find_element_by_css_selector('#kw'))
/Users/alanna/PycharmProjects/pythonProject4/venv/bin/python "/Users/alanna/Library/Application Support/JetBrains/PyCharmCE2022.1/scratches/boss.PY.py"
None
所以,到底是哪里的问题,是开发环境的问题还是
浏览器是:版本 103.0.5060.53(正式版本) (x86_64)
chromedriver也是 103.0.5060.53 并放入了bin文件里;可以跳转到浏览器页面,但是,直接搜索里面的例如,python(就点击不了)
如以下:
代码:
from selenium import webdriver
dri = webdriver.Chrome()
dri.get("https://www.zhipin.com/web/geek/job?city=101020100%22)
dri.find_element_by_css_selector(".ipt-search").send_keys("python")
报错
dri.find_element_by_css_selector(".ipt-search").send_keys("python")
AttributeError: 'NoneType' object has no attribute 'send_keys'
有可能是你chrome的web driver版本跟chrome浏览器不匹配,去网上搜索指令检查一下webdriver版本,
这段是测试过的自动化脚本使用代理ip打开网页,完整代码(含点击网页元素)等会给你发,供你参考
import requests
from selenium import webdriver
def conc_ip(url):
try:
page=requests.get('http://pandavip.xiongmaodaili.com/xiongmao-web/apiPlus/vgl?secret=306f6ea948242db0f9498b6e4551ca30&orderNo=VGL20220424120425lK79Ei4m&count=1&isTxt=1&proxyType=1&validTime=0&removal=0&cityIds=') %假设用的熊猫代理
data1 = page.text
ip = data1[0:-8]
port = data1[-7:-2]
pxstr = "http://"+ip+":"+port
print(pxstr)
requests.get(url, proxies={"http":pxstr})
except:
print('connect failed')
print("切换回自己的IP: " + requests.get(url,proxies={"http": ""}).text)
else:
print('success') #测试代理ip是否正常使用
new_data={"http":"http://"+ip+":"+port}
#print(new_data)
resp = requests.get(url = 'http://ip-api.com/json/%s' % (ip))
data = resp.json()
print(data)
options = webdriver.ChromeOptions()
#添加IP代理
options.add_argument("--proxy-server="+pxstr)
driver = webdriver.Chrome(chrome_options=options)
driver.get(url)
if __name__ == '__main__':
url = "https://" #url用你自己的
conc_ip(url
你对应selenium 的.Chrome驱动文件下载安装了没有
你https://www.baidu.com/页面能打开吗?
可能是你下载的 chromedriver.exe驱动文件版本与你chrome浏览器的版本不匹配
要下载与你chrome浏览器的版本最接近的的 chromedriver.exe驱动文件
1、chromedriver.exe驱动版本与你的浏览器版本要一致,要具体到每种浏览器的具体版本号,在浏览器设置里查看
2、chromedriver.exe驱动要放在代码所在根目录下,否则想要配置环境变量
3、打开浏览器后要给几秒钟时间加载好在进行下一步
可能是你电脑环境不对