Selenium driver.get (url)
等到整页加载.但是抓取页面试图加载一些死的JS脚本.所以我的Python脚本等待它并且几分钟不起作用.此问题可能出现在网站的每个页面上.
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.cortinadecor.com/productos/17/estores-enrollables-screen/estores-screen-corti-3000')
# It try load: https://www.cetelem.es/eCommerceCalculadora/resources/js/eCalculadoraCetelemCombo.js
driver.find_element_by_name('ANCHO').send_keys("100")
Run Code Online (Sandbox Code Playgroud)
如何限制等待的时间,阻止文件的AJAX加载,还是以其他方式?
我也在测试我的脚本webdriver.Chrome()
,但是会使用PhantomJS(),或者可能是Firefox().因此,如果某些方法使用浏览器设置的更改,那么它必须是通用的.
python selenium google-chrome selenium-chromedriver pageloadstrategy
如何更改 url 的参数值?没有正则表达式。
现在我试试这个,但它很长:
from urllib.parse import parse_qs, urlencode, urlsplit
url = 'http://example.com/?page=1&text=test#section'
param, newvalue = 'page', '2'
url, sharp, frag = url.partition('#')
base, q, query = url.partition('?')
query_dict = parse_qs(query)
query_dict[param][0] = newvalue
query_new = urlencode(query_dict, doseq=True)
url_new = f'{base}{q}{query_new}{sharp}{frag}'
Run Code Online (Sandbox Code Playgroud)
另外,我通过 urlsplit 尝试过:
parsed = urlsplit(url)
query_dict = parse_qs(parsed.query)
query_dict[param][0] = newvalue
query_new = urlencode(query_dict, doseq=True)
parsed.query = query_new
url_new = urlencode(parsed)
Run Code Online (Sandbox Code Playgroud)
但就urlparsed.query = query_new
它上升错误AttributeError: can't set attribute
。
如何在 SQLAlchemy ORM 中模拟以下原始 SQL?
SELECT "http://example.com/page/"||table.pagename as pageUrl
Run Code Online (Sandbox Code Playgroud)
需要从表中获取值,使用 ORM/Python 进行修改(这里只是字符串连接),然后将 SQLAlchemy 查询的结果作为附加字段输出。